반응형
@RequestMapping의 변화
@Controller 어노테이션은 추가적인 속성을 지정할 수 없지만, @RequestMapping의 경우 몇가지 속성을 추가할 수 있다.
이중에서도 가장 많이 사용하는 속성이 method 속성이다. Method 속성은 흔히 GET 방식, POST방식을 구분해서 사용할 때 이용한다.
스프링 4.3 버전부터는 이러한 @RequestMapping을 줄여서 사용할 수 있는 @GetMapping, @PostMapping이 등장하는데 축약형의 표현이므로, 아래와 같이 비교해서 학습하는 것이 좋다.
package org.zerock.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import lombok.extern.log4j.Log4j;
@Controller
@RequestMapping("/sample/*")
@Log4j
public class SampleController {
@RequestMapping("")
public void basic() {
log.info("basic.....");
}
@RequestMapping(value="/basic", method = {RequestMethod.GET, RequestMethod.POST})
public void basicGet() {
log.info("basic get..........");
}
@GetMapping("/basicOnlyGet")
public void basicGet2() {
log.info("basic get only get..........");
}
}
@RequestMapping은 GET, POST방식 모두를 지원해야 하는 경우에 배열로 처리해서 지정할 수 있다. 일반적이 경우에는 GET, POST방식만을 사용하지만 최근에는 PUT, DELETE방식등도 점점 많이 사용하고 있다. @GetMapping의 경우 오직 GET 방식에만 사용할 수 있으므로, 간편하기는 하지만 기능에 대한 제한은 많은 편이다.
반응형
'2020 > 주저리 주저리 타이핑.. 낙서장.' 카테고리의 다른 글
@DateTimeFormat (0) | 2020.05.06 |
---|---|
@InitBinder (0) | 2020.04.29 |
스프링 MVC의 Controller (0) | 2020.04.24 |
코드로배우는 스프링 웹 프로젝트- #2 스프링 MVC의 기본 사상 (0) | 2020.04.24 |
스프링 MVC의 기본 구조 (0) | 2020.04.23 |