Hello

HTTP 메서드 - POST, PUT, GET, PATCH, DELETE

by 볼빵빵오춘기

HTTP 메서드

  • HTTP 메서드는 웹 브라우저와 웹 서버 간의 통신에 사용되는 프로토콜인 HTTP (HyperText Transfer Protocol)에서 정의된 다양한 요청 방법이다.
  • 각 메서드는 특정 작업을 수행하기 위해 고안되었습니다. 일반적으로, HTTP 메서드는 클라이언트가 서버에 요청하는 작업의 유형을 나타낸다.
  • 주된 역할은 리소스 조회·생성·수정·삭제를 한다.
  • RESTful API 설계에서 중요한 역할을 한다.
  • 올바른 메서드를 사용함으로써 코드의 가독성과 유지 보수성을 높일 수 있다.

 

주요 HTTP 메서드와 역할

GET

서버에서 리소스를 조회한다.

@GetMapping("/users/{id}")
public ResponseEntity<User> getUserById(@PathVariable Long id) {
    User user = userService.findById(id);
    return ResponseEntity.ok(user);
}

 

POST

서버에 새로운 리소스를 생성한다.

@PostMapping("/users")
public ResponseEntity<User> createUser(@RequestBody User user) {
    User createdUser = userService.save(user);
    return ResponseEntity.status(HttpStatus.CREATED).body(createdUser);
}

 

PUT

서버에 있는 리소스를 전체적으로 업데이트한다.

@PutMapping("/users/{id}")
public ResponseEntity<User> updateUser(@PathVariable Long id, @RequestBody User user) {
    user.setId(id);
    User updatedUser = userService.save(user);
    return ResponseEntity.ok(updatedUser);
}

 

PATCH

서버에 있는 리소스를 부분적으로 업데이트한다.

@PatchMapping("/users/{id}")
public ResponseEntity<User> updateUserEmail(@PathVariable Long id, @RequestBody Map<String, String> updates) {
    String newEmail = updates.get("email");
    User updatedUser = userService.updateEmail(id, newEmail);
    return ResponseEntity.ok(updatedUser);
}

 

DELETE

서버에 있는 리소스를 삭제한다.

@DeleteMapping("/users/{id}")
public ResponseEntity<Void> deleteUser(@PathVariable Long id) {
    userService.deleteById(id);
    return ResponseEntity.noContent().build();
}

블로그의 정보

Hello 춘기's world

볼빵빵오춘기

활동하기