강의를 수강했는데...
헷갈리는건 왜일까?
그래서 간단하게나마 정리를 해보자!!!
한번정리하면 머리속에 쏙 들어올거야.👍🏻
@COntroller
는 주로 View 를 반환하기 위해 사용한다.
Controller는 요청을 처리한 후에 ViewName을 반환한다.
Spring MVC의 @Controller
를 사용하면서 Data 를 반환해야 하는 경우도 존재한다.
이때 @ResponseBody
어노테이션을 활용해준다.
이를 통해 @Controller
도 Json 형태로 Data 를 반환할 수 있다.
@RestController
는 @Controller
+ @ResponseBody
라고 할 수 있다.
최근에 데이터를 응답으로 제공하는 REST API를 개발할 때 주로 사용한다.
동작 과정이 @Controller
에 @ResponseBody
를 사용한 것과 완벽히 동일하다.
@Controller
@ResponseBody
public class MVCController{
logic...
}
@RestController
public class ReftFulController{
logic...
}
다음 두 코드는 Spring MVC에서 동일한 동작을 한다.