GiYeong

@Controller / @RestController 본문

CS/Spring

@Controller / @RestController

gy2710 2022. 9. 4. 21:19

 

@RestController = @Controller + @ResponseBody

 

@Controller

Spring MVC의 컨트롤러로서 Model 객체를 만들어 데이터를 담고 View를 반환한다. 또한 @ResponseBody를 사용하여 HTTP Response Body에 데이터를 담아 요청을 완료한다.

 

@Controller로 View를 반환하는 과정

  1. 클라이언트가 URI 형식으로 웹 서비스에 요청을 보냄
  2. DispatcherServlet이 요청을 위임할 HandlerMapping을 찾음
  3. HandlerMapping을 통해 요청을 Controller에 위임
  4. Controller는 요청을 처리하여 ViewName을 반환
  5. DispatcherServlet이 ViewResolver를 통해 ViewName에 해당하는 View를 찾아 클라이언트에게 반환

@Controller로 Data를 반환하는 과정

  1. 클라이언트가 URI 형식으로 웹 서비스에 요청을 보냄
  2. DispatcherServlet이 요청을 위임할 HandlerMapping을 찾음
  3. HandlerMapping을 통해 요청을 Controller에 위임
  4. Controller는 요청을 처리하여 객체를 반환(@ResponseBody 어노테이션 사용)
  5. 반환된 객체가 JSON으로 Serialize되어 클라이언트에게 반환

@RestController

Restful Web Service에서 사용되는 컨트롤러로서 @Controller와 @ResponseBody의 동작을 하나로 결합하여 JSON 형태로 객체 데이터를 반환하는 컨트롤러이다.

동작과정 또한 @Controller에서 @ResponseBody를 사용하여 객체를 반환하는 과정과 동일하다.

'CS > Spring' 카테고리의 다른 글

Spring의 장점  (0) 2022.06.16
Spring - 3  (0) 2022.06.04
Spring - 2  (0) 2022.06.03
Spring - 1  (0) 2022.06.02
Comments