@RestController
- Rest API 작성을 위해 Spring MVC에서 제공하는 컨트롤러
- 이전 버전의 @Controller와 @ResponseBody를 포함
MessageConvertor
- 외부에서 전달받은 json 메소드를 내부에서 사용가능한 객체로 변환하거나 컨트롤러를 리턴한 객체가 클라이언트에게 Json으로 변환해 전달할 수 있도록 함
- 자바 객체와 HTTP 요청 / 응답 바디를 변환하는 역할
- @EnableWebMvc로 기본 설정 가능
- Restuful 웹서비스의 컨트롤러라는 점에서 @Controller와 다름
Json Response
- 컨트롤러의 메소드에서는 JSON으로 변환될 객체를 반환
- jackson 라이브러리를 추가할 경우 객체를 JSON으로 변환하는 메시지 컨버터가 사용되도록 @EnableWebMvc에서 기본으로 설정되어 있음
- jackson 라이브러리를 (pom.xml에) 추가하지 않으면 JSON메시지로 변환할 수 없어 500오류 발생
- 사용자가 임의의 메시지 컨버터(MessageConverter)를 사용하도록 하려면 WebMvcConfigurerAdapter의 configureMessageConverters메소드를 오버라이딩해야 함
REFERENCES
https://mangkyu.tistory.com/49
https://www.boostcourse.org/web326/lecture/58984/?isDesc=false