@Get, @Post, Delete, @Put, @Patch Mapping

728x90

Spring Boot를 이용하면서 이전에는 (주로 4.3.18 버전의 스프링 MVC를 사용했다) 보지 못했던 맵핑들이 자주 보였는데, 그 중에서도 Mapping 부분에 Get, Post 등이 직접 언급되는 어노테이션이 나오는 걸 보고 구글링하게 되었다. 간략한 내용이지만 정리를 해보려고 한다. (혹시나 헷갈리면 확인하기 위함이 제일 클 것 같다!)

 

Spring 4.3 버전에 추가된 내용으로는 기존의 @RequestMapping(value="/", method="...")의 어노테이션의 사용을 조금 더 명시적이고 효율적인 방법으로 사용하기 위해 @GetMapping, @PostMapping, @DeleteMapping, @PutMapping, @PatchMapping의 메소드가 생겼다.

기본적인 작동원리

요청( HTTP(S) ) @맵핑 어노테이션
GET @GetMapping
POST @PostMapping
DELETE @DeleteMapping
PATCH, PUT @PatchMapping, @PutMapping

 

기존의 요청 방식

@RequestMapping(value = "/test", method = RequestMethod.GET
public void TestCase(HttpServletRequest request, HttpServletResponse response) {
   // do something
} 

 

- @GetMapping 사용 방법(다른 것도 동일)

@GetMapping(value = "/test2")
public void TestCase2(HttpServletRequest request, HttpServletResponse response) {
  // do something
}

 

위에서 GetMapping 을 상황에 따라서 @PostMapping, @DeleteMapping, @PatchMapping, @PutMapping 등으로 바꾸기만 하면 된다.

더 명시적이다는 면에서 코드 가독성이 올라간다.(주관적인 의견이지만 대부분이 그렇다고 생각할 것이다. 코드를 보는데 노력하지 않아도 한눈에 보이는 장점이 있다)

728x90