@GetMapping, @PostMapping, @PutMapping, @DeleteMapping, @PatchMapping 알아보기

zero zoo·2024년 5월 25일

SPRING 정리

목록 보기
1/3

@RequestMapping(value = "/", method="...")의 어노테이션의 사용을 조금 더 명시적고 효율적인 방법으로 사용하기 위해 @GetMapping, @PostMapping, DeleteMapping, @PutMapping, @PatchMapping의 메소드가 제공됩니다


GetMapping

@GetMapping 어노테이션은, 메소드에 주어진 URI 정보로 HTTP GET 요청을 처리합니다.
조회의 기능을 하며, HTTP POST 와는 다르게, 리소스가 아닌 데이터를 가져옵니다.

@GetMapping("/get")
public @ResponseBody ResponseEntity<String> get() {
    return new ResponseEntity<String>("GET Response", HttpStatus.OK);
}

@GetMapping("/get/{id}")
public @ResponseBody ResponseEntity<String>
  getById(@PathVariable String id) {
    return new ResponseEntity<String>("GET Response : " 
      + id, HttpStatus.OK);
}

이후, /get 혹은 /get/id 로 api를 호출하면, 어노테이션 아래의 함수를 실행합니다.

PostMapping

@PostMapping 어노테이션은, 메소드에 주어진 URI 정보로 HTTP POST 요청을 처리합니다.
POST 메소드는 서버로 데이터를 전송하고, 보통 HTML 형식으로 보냅니다.

@PostMapping("/post")
public @ResponseBody ResponseEntity<String> post() {
    return new ResponseEntity<String>("POST Response", HttpStatus.OK);
}

이후, /post 로 api를 호출하면, 어노테이션 아래의 함수를 실행합니다.

PutMapping

@PutMapping 어노테이션은, 메소드에 주어진 URI 정보로 HTTP PUT 요청을 처리합니다.
PUT 은 Create(생성) 에 매칭되는POST와 다르게 Update(수정)에 매칭됩니다.
PUT을 통해 새로운 리소스를 생성하기도 하지만, POST와 다르게 멱등합니다.

@PutMapping("/put")
public @ResponseBody ResponseEntity<String> put() {
    return new ResponseEntity<String>("PUT Response", HttpStatus.OK);
}

이후, /put 로 api를 호출하면, 어노테이션 아래의 함수를 실행합니다.

PatchMapping, DeleteMapping

이외에, 리소스를 부분 변경하는 PATCH 메서드, 리소스를 제거하는 DELETE 메서드는 아래와 같이 사용합니다.

@PatchMapping("/patch")
public @ResponseBody ResponseEntity<String> patch() {
    return new ResponseEntity<String>("PATCH Response", HttpStatus.OK);
}

@DeleteMapping("/delete")
public @ResponseBody ResponseEntity<String> delete() {
    return new ResponseEntity<String>("DELETE Response", HttpStatus.OK);
}

GET POST PUT PATCH DELETE : HTTP 주요메서드 정리
https://velog.io/@woply/HTTP-주요-메서드-5가지-정리GET-POST-PUT-PATCH-DELETE


출처

https://toma0912.tistory.com/86
https://www.baeldung.com/spring-new-requestmapping-shortcuts
https://velog.io/@woply/HTTP-주요-메서드-5가지-정리GET-POST-PUT-PATCH-DELETE

profile
한방향으로 지그재그

0개의 댓글