GiYeong
@Controller / @RestController 본문
@RestController = @Controller + @ResponseBody
@Controller
Spring MVC의 컨트롤러로서 Model 객체를 만들어 데이터를 담고 View를 반환한다. 또한 @ResponseBody를 사용하여 HTTP Response Body에 데이터를 담아 요청을 완료한다.
@Controller로 View를 반환하는 과정
- 클라이언트가 URI 형식으로 웹 서비스에 요청을 보냄
- DispatcherServlet이 요청을 위임할 HandlerMapping을 찾음
- HandlerMapping을 통해 요청을 Controller에 위임
- Controller는 요청을 처리하여 ViewName을 반환
- DispatcherServlet이 ViewResolver를 통해 ViewName에 해당하는 View를 찾아 클라이언트에게 반환
@Controller로 Data를 반환하는 과정
- 클라이언트가 URI 형식으로 웹 서비스에 요청을 보냄
- DispatcherServlet이 요청을 위임할 HandlerMapping을 찾음
- HandlerMapping을 통해 요청을 Controller에 위임
- Controller는 요청을 처리하여 객체를 반환(@ResponseBody 어노테이션 사용)
- 반환된 객체가 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