Controller와 Rest-Controller의 차이점
Spring에서 Controller
임을 명시하기 위해 클래스 상단에 Controller
혹은 RestController
어노테이션을 붙여준다.
이 둘의 주요 차이점은 HTTP Response Body가 생성되는 방식에 있다.
RestController는 Controller와 ResponseBody의 조합으로 생각해도 좋다.
Controller : Spring MVC 모델에서 사용
RestController : RESTful 웹 서비스에서 사용
Spring MVC 처리과정
@Controller
1 |
|
Spring MVC
의 Controller는Model
객체를 만들어 데이터를 담아 적절한 jsp파일 등의View
를 반환해주는 역할을 한다.
@RestController
1 |
|
RestController는 단순히 객체를 반환하고, 객체 데이터는 JSON, XML 등의 형식으로 HTTP 응답에 담아서 전송한다.
뷰가 아닌 Data를 반환하여 응답에 보다 유용하게 사용된다.
RestController 어노테이션에는 Controller와 ResponseBody 어노테이션이 달려있다.
참고
Controller와 Rest-Controller의 차이점
You need to set
install_url
to use ShareThis. Please set it in _config.yml
.