Controller와 RestController의 차이
@RestController는 @Controller + @ResponseBody와 같다
Controller : 뷰 템플릿을 사용하는 컨트롤러이며 반환 타입은 void, String, ModelAndView가 있다
String 반환 : view페이지의 경로 및 파일명을 직접 반환값으로 전달하여 뷰 페이지를 보여줌
ModelAndView 반환 : ModelAndView 객체를 생성하여 view 값을 입력하여 객체를 반환
RestController : 주로 REST API 서버를 구현할 때 사용하며 반환 타입은 원하는 타입 반환 가능
* RestController를 선언한 컨트롤러 모두에게 @ResponseBody가 적용되며 뷰 템플릿 사용 대신 HTTP 메세지 바디에 직접 데이터를 입력한다.
ex) Integer, Long, String, ResponseEntity<> 등...
RestController (ResponseBody 적용)