특정 URL로 요청이 올때 특정 메서드를 동작시킬 수 있다.
바로 @RequestMapping 애노테이션을 사용하면 된다.
@RequestMapping(value="URL 설정", 사용할 HTTP 메서드)
사용할 HTTP 메서드를 비워둔다면 모든 HTTP 메서드 요청을 허용한다는 뜻이다.
예시 코드
@RequestMapping(value = "/URL", method = RequestMethod.GET)
public String requestMapping() {
return "viewName";
{
일일히 HTTP 메서드 요청을 설정하는 것보다 HTTP요청을 축약한 애노테이션을 사용하는 것이 더욱 직관적이다.
@RequestMapping(value = "/get", method = RequestMethod.GET) 🟰 @GetMapping("get")
경로에 변수를 넣어서 사용할 수 있다.
바로 @PathVariable 애노테이션을 사용하면 된다.
예시코드
@GetMapping("/get/{userId}")
public String requestMapping(@PathVariable("userId") String data) {
System.out.print(data);
return "viewName";
{
변수명이 같다면 생략 가능하다.
@PathVariable("userId") String data 🟰 @PathVariable String userId
@Controller 는 반환 값이 String 이면 뷰 이름으로 인식된다. 그래서 뷰를 찾고 뷰가 랜더링 된다.
@RestController 는 반환 값으로 뷰를 찾는 것이 아니라, HTTP 메시지 바디에 바로 입력한다.
만약 메서드마다 개별설정을 하고 싶다면 @Controller를 쓰고 메서드 위에 @ResponseBody를 입력하면 된다.