본문 바로가기
JAVA/SPRING

[Spring] Restful을 위한 @ResponseBody 와 @RestController

by F.E.D 2018. 4. 25.

Restful한 스프링

Spring에서 restful하게 작성하기 위해 @Controller 내에 @ResponseBody를 사용하거나 @RestController를 사용할 수 있다고 합니다.


일반적인 SPRING MVC의 흐름에 대해서 알아봅시다.



1. DispatcherSevlet이 요청을 수신
2. DispatcherSevlet은 HandlerMapping에 어느 컨트롤러를 사용할지 문의합니다.
3. DispatcherSevlet은 요청을 컨트롤러에게 전송하고 컨트롤러는 요청을 처리한 후 결과를 리턴합니다.
   ModelAndView를 생성하여 DispatcherSevlet에 리턴합니다.
4. ModelAndView를 바탕으로 ViewResolver에게 View를 요청하고
5. 최종적으로 View로 화면을 보게 됩니다.

위와같이 일반적인 Spring의 MVC 흐름입니다. 

@ResponseBody

위의 일반적인 흐름도에서 @ResponseBody를 사용하면 Spring은 반환값을 HTTP response에 자동으로 쏩니다.
Controller 클래스의 각 메소드에는 @ResponseBody 어노테이션이 필요합니다.



@RestController

Spring 4.0에서는 @Controller + @ResponseBody 버전인 @RestController를 추가했습니다.
@RestController 어노테이션을 작성 하면 @ResponseBody를 통한 매핑 메소드가 필요없습니다.
기본으로 탑재!


따라서 스프링4.0 부터는 @RestController를 사용하여 조금 더 쉽게 Restful 한 코드를 작성할 수 있습니다 !




출처 : 

http://highcode.tistory.com/24

http://gap85.tistory.com/m/104

'JAVA > SPRING' 카테고리의 다른 글

Asynchronous, Multi-thread 개발하기  (0) 2018.06.04
[Spring] ExpirationDate 만료일 설정하기  (0) 2018.05.02
[Spring]Spring Boot + Tiles  (0) 2018.04.10

댓글