-
[개발언어] @Controller vs @RestControllerCS/개발 언어 (JAVA) 2021. 6. 4. 13:41
@Controller
- 전통적인 스프링 MVC의 컨트롤러
- View를 반환하기 위해 사용하고 Restful 웹 서비스를 반환하기 위해서는 @ResponseBody 어노테이션을 붙여야한다.
- Controller가 View를 반환하기 위해서는 ViewResolver가 사용되며, ViewResolver 설정에 맞게 View를 찾아 랜더링한다.
@RestController
- Restful 웹서비스 컨트롤러
- 데이터를 반환하기 위해 사용한다.
- RestController가 데이터를 반환하기 위해서는 ViewResolver 대신에 HttpMessageConverter가 동작한다.
- 스프링은 클라이언트의 HTTP Accept 헤더와 서버의 컨트롤러 반환 타입 정보를 조합하여 적합한 HttpMessageConverter를 선탱하여 이를 처리한다.
'CS > 개발 언어 (JAVA)' 카테고리의 다른 글
[JAVA] GC 튜닝 (0) 2021.06.26 [JAVA] Garbage Collection 모니터링 (1) 2021.06.21 [JAVA] Reactive Streams (0) 2021.05.16 [JAVA] 자바 가상 머신 (Java Virtual Machine) (0) 2021.05.12 [JAVA] JVM Memory (0) 2021.04.22