
@Controller와 @RestController는 Spring Framework에서 컨트롤러 클래스를 정의하기 위한 주요 어노테이션이다. 두 어노테이션 모두 클라이언트 요청을 처리하고 응답을 반환하는 역할을 수행하지만, 주요 차이점이 있다.
@ResponseBody 어노테이션을 메소드 레벨에 추가해야 한다.@ResponseBody 어노테이션을 추가할 필요가 없다. @RestController는 내부적으로 @Controller와 @ResponseBody 어노테이션을 합친 것으로 생각할 수 있다.@Controller는 주로 뷰 이름을 반환하여 웹 페이지를 렌더링하는데 사용되며, HTTP 응답 본문에 데이터를 직접 넣으려면 @ResponseBody를 추가로 사용해야 한다.@RestController는 RESTful 웹 서비스를 생성하는데 사용되며, 기본적으로 HTTP 응답 본문에 데이터를 반환한다.