손영배 블로그 누구나 쉽게 이해하고 습득하기

@Controller와 @RestController의 차이 본문

Web/Web Backend Study

@Controller와 @RestController의 차이

손영배 2020. 1. 7. 20:33

@Controller와 @RestController의 차이

 

HTTP @Response Body가 생성되는 방식의 차이

 

기존의 MVC @Controller는 View를 반환하지만, @RestController는 객체를 반환할때 객체 데이터는 Json/XML 타입의 HTTP응답을 직접 리턴하게 된다.

 

@Controller + @ResponseBody를 선언해서 객체를 리턴하는 방법도 있다.

 

실행흐름 순서

 

@Controller의 실행 흐름

 

Client -> Request -> Dispacher Servlet ->Handler Mapping -> Controller -> View -> Dispatcher Servlet -> Response -> Client

@Controller + @ResponseBody

 

Client -> Request -> Dispacher Servlet -> Handler Mapping -> Controller ------(ResponseBody) ----> Client

 

 

@RestController

 

Client -> http Request -> Dispacher Servlet -> Hanler Mapping -> RestController( @Controller + @ResponseBody) -> Response -> Client

https://doublesprogramming.tistory.com/105

'Web > Web Backend Study' 카테고리의 다른 글

[H2DB] H2 Database란?  (0) 2020.01.07