티스토리 뷰
Development/Technical Interview
[면접 준비 - Spring]@Controller와 @RestController
Vagabund.Gni 2024. 6. 3. 11:09728x90
반응형
@Controller와 @RestController 애너테이션은 스프링 프레임워크에서
웹 애플리케이션 개발 시 주로 사용되는 애너테이션이다.
이 두 애너테이션은 모두 클래스를 스프링 MVC 컨트롤러로 선언하지만, 그 동작 방식에는 중요한 차이가 존재한다.
@Controller
@Controller 애너테이션은 스프링 MVC의 전통적인 컨트롤러를 정의하는 데 사용된다.
이 애너테이션은 주로 뷰(View) 템플릿을 반환할 때 사용된다.
@Controller 클래스 내의 메서드는 주로 JSP, Thymeleaf와 같은 템플릿 엔진을 통해 HTML 페이지를 반환한다.
- 뷰 리졸버(View Resolver)를 통해 뷰 이름을 해석하고 해당하는 HTML 페이지를 렌더링한다.
- @Controller는 기본적으로 뷰 리졸버를 사용하여 논리적인 뷰 이름을 물리적인 뷰로 변환한다.
예를 들어, 컨트롤러 메서드가 "home"을 반환하면, 뷰 리졸버는 "home.jsp" 또는 "home.html" 같은 실제 뷰를 찾는다.
- @Controller는 기본적으로 뷰 리졸버를 사용하여 논리적인 뷰 이름을 물리적인 뷰로 변환한다.
- 모델과 뷰를 함께 반환하여 동적인 웹 페이지를 생성할 수 있다.
@RestController
@RestController 애너테이션은 스프링 4.0에서 도입된 애너테이션으로,
@Controller와 @ResponseBody를 결합한 형태이다.
RESTful 웹 서비스를 개발할 때 사용되며,
이 애너테이션을 사용하면 메서드의 반환 값이 뷰가 아닌 HTTP 응답 본문(Body)에 직접 작성된다.
- JSON/XML 응답
@RestController는 메서드가 반환하는 값을 뷰 이름으로 사용하지 않고, HTTP 응답의 본문으로 직접 반환한다.
주로 JSON이나 XML 형식으로 데이터를 반환한다.
반응형
'Development > Technical Interview' 카테고리의 다른 글
[면접 준비]SQL에서 UNION/UNION ALL 차이 (0) | 2024.07.31 |
---|---|
[면접 준비]로컬 스토리지, 쿠키, 세션 (3) | 2024.07.20 |
[면접 준비 - Spring]@Service와 @Repository (0) | 2024.06.03 |
[면접 준비 - Java]접근 제어자(Access Modifier) (0) | 2024.06.03 |
[면접 준비 - CS]프로세스 스케줄러 (0) | 2023.05.02 |
[면접 준비 - CS]Raster vs. Vector (0) | 2023.04.28 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 동적계획법
- 칼이사
- 리스트
- a6000
- 세계일주
- 세계여행
- 백준
- 면접 준비
- 자바
- 세모
- 중남미
- 지지
- spring
- 파이썬
- 남미
- 알고리즘
- 기술면접
- BOJ
- Algorithm
- RX100M5
- 유럽
- 여행
- Python
- 야경
- 유럽여행
- Backjoon
- 스프링
- 맛집
- 스트림
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함