Life Developer
인생 개발자
Controller와 RestController 차이

[ Controller - View ]

 

전통적인 Spring MVC의 컨트롤러인 @Controller는 주로 View를 반환하기 위해 사용합니다. 아래와 같은 과정을 통해 Spring MVC Container는 Client의 요청으로부터 View를 반환합니다.

 

  1. Client는 URI 형식으로 웹 서비스에 요청을 보낸다.

  2. Mapping되는 Handler와 그 Type을 찾는 DispatcherServlet이 요청을 인터셉트한다.

  3. Controller가 요청을 처리한 후에 응답을 DispatcherServlet으로 반환하고, DispatcherServlet은 View를 사용자에게 반환한다.

 

[ Controller - Data ]

하지만 Spring MVC의 컨트롤러에서도 Data를 반환해야 하는 경우도 있습니다. Spring MVC의 컨트롤러에서는 데이터를 반환하기 위해 @ResponseBody 어노테이션을 활용해주어야 합니다. 이를 통해 Controller도 Json 형태로 데이터를 반환할 수 있습니다.

 

 

 

 

[ RestController ]  - Controller + ResponseBody

@RestController는 Spring MVC Controller에 @ResponseBody가 추가된 것입니다. 당연하게도 RestController의 주용도는 Json 형태로 객체 데이터를 반환하는 것입니다.

 

'Developer' 카테고리의 다른 글

[JPA]find, em.createQuery  (0) 2020.09.16
[JPA]첫걸음  (0) 2020.09.16
자바스크립트 TDZ (Temporal Dead Zone) 임시사망지역  (0) 2020.09.04
javascript curry함수, 커링이란?  (0) 2020.08.05
Spring JDBC란?  (0) 2020.08.03
  Comments,     Trackbacks