개발기록
@Controller와 @RestController의 차이 본문
@Controller와 @RestController는 용도의 차이가 있으며, 주요한 차이점은 HTTP Response Body가 생성되는 방식이 다르다.
@Controller는 주로 Model과 View를 전달하는데, 추가적으로 클라이언트에게 Json 형태로 데이터 반환을 원하는 경우 @ResponseBody를 사용한다.
@RestController는 Spring MVC Controller에 @ResponseBody가 추가된 것이므로, 주 용도는 Json/XML형태로 데이터를 반환하는 것이다.
흐름 순서 :
@Controller
Client(Browser) -> Request -> Dispatcher Servlet -> Handler Mapping -> Controller -> View -> Dispatcher Servlet -> Response -> Client(Browser)
@RestController
Client(browser) -> HTTP Request -> Dispatcher Servlet -> Handler Mapping -> RestController(자동 ResponseBody 추가) -> Http Response -> Client(browser)
'JAVA' 카테고리의 다른 글
[Spring Framework] Bean (0) | 2020.07.15 |
---|---|
[JDBC] Persistance Framework 관련 (0) | 2020.07.09 |
Webjar (0) | 2020.07.09 |
[Java] 문자열 특정 패턴 추출/제거 (0) | 2020.03.24 |
[Java] 문자열->정수 형변환 (0) | 2020.03.24 |