@Controller
어노테이션을 이용하면 기본적으로 view 페이지를 찾아서 띄어주는 역할을 한다.
@Controller
: 전통적인 Spring MVC의 컨트롤러
@RestController
: Restuful 웹서비스의 컨트롤러
주요한 차이점은 HTTP Response Body가 생성되는 방식입니다.
@Restcontroller
는 Spring MVC Controller에 @ResponseBody가 추가된 것입니다. 따라서 @Controller와 달리 @RestController는 컨트롤러 클래스의 각 메서드마다 @ResponseBody를 추가할 필요가 없어졌습니다.
@RestController
@RequestMapping("/hello/*")
public class RestController {
@RequestMapping("/test")
public String test() {
return "test";
}
}
Controller에서 view를 반환하는 케이스 이외에 json data를 반환해야되는 케이스에
@Controller + @ResponseBody를 함께 쓰는 번거로움을 해결하기 위해서
@RestController
탄생