본문 바로가기

Spring

@Controller , @RestController

Spring MVC컨트롤러 : @Controller

View 기술을 사용
( view 화면을 리턴 또는 ResponseBody를 사용해 객체 리턴
 @ResponseBody를 사용하면 View를 리턴하지 않고 컨트롤러에서 직접 데이터를 리턴할 수 있는데,
 Spring은 Http응답에 리턴값을 자동으로 변환해준다 (json형태로 데이터 리턴) )


Restful 웹서비스 컨트롤러 : @RestController

 객체를 반환하기만 하면 객체 데이터는 JSON/XML형식의 HTTP 응답을 직접 작성
( 데이터를 리턴하는 것이 주용도이다.
 MVC Controller에  @ResponseBody가 추가되어 내장되어있기 때문에 따로 @ResponseBody를 추가할 필요가없다.
클라이언트로부터 Json데이터 응답을 내려주기 때문에 @RestController를 사용 )

 

차이점 : HTTP Response Body가 생성되는 방식

 

 

참고:
https://mangkyu.tistory.com/49

https://doublesprogramming.tistory.com/105