✅ Controller 와 RestContoller 의 차이
- Spring에서 컨트롤러를 지정해주기 위한 어노테이션은 @Controller와 @RestController가 있다.
- 전통적인 Spring MVC 컨트롤러인 @Controller와 RESTful 웹 서비스의 컨트롤러인 @RestController의 주요한 차이점은 HTTP Response Body가 생성되는 방식에 있다. -> 즉, 모든 메소드가 뷰 대신 객체로 작성된다.
♐ @Controller
- Controller는 주로 View를 반환하기 위해 사용한다.. 아래와 같은 과정을 통해 Spring MVC Container는 Client의 요청으로부터 View를 반환한다.
- Controller 주석코드
@Target(value=TYEP)@Retention(value=RUNTIME)
@Documented
@Componentpublic
@interface Controller
♐ @RestController
- RestController는 Spring MVC Controller에 @ResponseBody가 추가된 것이다. 이로써 당연한 것은RestController의 주용도는 JSON 형태로 객체 데이터를 반환하는 것이다
1. Client는 URI 형식으로 웹 서비스에 요청을 보낸다.
2. Mapping되는 Handler와 그 Type을 찾는 DispatcherServlet이 요청을 인터셉트한다.
3. RestController는 해당 요청을 처리하고 데이터를 반환한다.
- RestController 주석코드(Controller + ResponseBody)
@Target(value=TYEP)
@Retention(value=RUNTIME
)@Documented
@Controller
@ResponseBody
public @interface RestController
'Spring' 카테고리의 다른 글
[Spring/JPA] 영속성 컨텍스트 (0) | 2025.04.11 |
---|---|
[Spring] Annotation (2) | 2025.04.10 |
[Spring] MVC 패턴 (0) | 2025.04.07 |
[Spring]HTTP 란? (2) (0) | 2025.03.31 |
[Spring]HTTP 란? (1) (0) | 2025.03.20 |