내일배움캠프
@RestController와 @Controller 차이
지니♥︎
2024. 5. 22. 10:01
🚩 20240521 TIL 내일배움캠프 #36일차
🟢 요약
@RestController
= @Controller + @ResponseBody
@RestController를 사용하면 해당 클래스의 모든 메서드에 @ResponseBody 애너테이션이 추가되는 효과를 부여
🟡 @Controller
- 주로 뷰를 반환하기 위해 사용
- JSP, Thymeleaf, Freemarker와 같은 템플릿 엔진을 사용해 HTML을 생성하는 경우에 사용
- 메서드에서 반환된 문자열은 뷰의 이름으로 해석되며, 해당 뷰를 렌더링하여 클라이언트에게 반환
🟡 @RestController
- RESTful 웹 서비스를 구축하기 위해 사용
- 주로 JSON 또는 XML 형식의 데이터를 반환
- @RestController는 @Controller와 @ResponseBody를 결합한 형태
- 메서드에서 반환된 객체는 JSON 또는 XML 형식으로 직렬화되어 HTTP 응답 본문에 직접 사용
🟢 정리
두 애너테이션은 사용 목적에 따라 선택적으로 사용
@RestController는 데이터 중심의 API를,
@Controller는 뷰 중심의 웹 애플리케이션을 구축할 때 적합