- solidity
- Front-end developer
- postman
- c#
- Android/iOS Developer
- Java
- oracle
- 좋은 개발자
- postman pre-request
- Android
- postman automations
- Unity
- postman html parse
- emplace_back
- postman collection variables
- web developer
- 다빈치 리졸브
- Intellij
- postman session
- C++
- postman excel
- 프런트엔드
- LSL_Script
- postman tests
- 우수한 프런트 개발자
- Interaction developer
- UI/UX Engineer
- MFC
- postman collection
- postman csv
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Today
- Total
david's daily developer note
[BE] Spring @Controller vs @RestController 본문
Spring MVC의 컨트롤러 지정을 위하여 사용되는 @Controller 어노테이션과 @RestController의 차이를 알아보자.
Spring MVC에서 @Controller는 사용자 요청에 대한 응답으로 View를 반환하기 위한 로직의 처리를 담당한다.
@Controller
@ResponseBody
public class Controller {
//logic
}
Spring MVC에서 View가 아닌 데이터를 반환하는 경우가 있는데, 이때는 @ResponseBody 어노테이션이 필요하고 이를 통하여 Json형태의 데이터를 반환할 수가 있다. 여기서 @RestController는 @Controller와 @ResponseBody가 결합된 어노테이션이며, @ResponseBody 어노테이션 없이도 문자열과 Json형태의 데이터를 반환할 수 있다.
@RestController는Spring Framwork 4.x버전부터 사용이 가능하다.
@RestController
public class RestController {
//logic
}
차이점 정리
1. @Controller는 @Component의 Specialized version입니다.
2. @RestController는 @Controller의 Specialized version입니다.
3. @Controller는 Spring Web MVC의 View를 반환할 수 있으나, @RestController는 View를 반환할 수 없습니다.
4. @RestController는 @RequestMapping으로 선언된 함수가 @ResponseBody가 지정됨을 의미합니다.
5. @Controller는 모든 핸들러 메서드에 @ResponseBody가 필요하지만, @RestController는 @ResponseBody를 사용할 필요가 없습니다.
6. @Controller는 스프링 2.5버전에서 @RestController는 스프링 4.0버전에서 추가되었습니다.
'[Develop] Web > Back-end' 카테고리의 다른 글
[BE] Java BigDecimal (0) | 2022.07.06 |
---|---|
[BE] Spring boot Excel Download (feat. apache.poi) (0) | 2022.07.05 |
[BE] Naver IntelliJ formatter Setting (Code Style) (0) | 2022.06.30 |
[BE] Spring - DI (Dependency Injection) (0) | 2022.06.27 |
[BE] Introduction to DynamoDB (0) | 2022.06.23 |