지니의 개발로그
@RestController와 @Controller 차이 본문
🚩 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는 뷰 중심의 웹 애플리케이션을 구축할 때 적합
'내일배움캠프' 카테고리의 다른 글
Entity란? (0) | 2024.05.24 |
---|---|
프레임워크와 라이브러리의 차이점 (0) | 2024.05.23 |
[Spring] HTTP 응답에서 데이터 표현 형식의 차이 (text/plain vs. application/json) (0) | 2024.05.21 |
[Spring] @ResponseBody로 데이터 반환하기 (0) | 2024.05.18 |
API란? (TIL #31일차) (0) | 2024.05.17 |