WeeklyStudy / spring

Spring Core Principles Study
0 stars 0 forks source link

어노테이션 @Controller와 @RestController의 작동 방식 차이는 무엇인가 #11

Open zuminzi opened 1 year ago

zuminzi commented 1 year ago

문제

이번 강의를 통해 스프링 MVC 패턴에서 @Controller 어노테이션은 컨트롤러 클래스를 컴포넌트 스캔 대상으로 만들고, RequestHandlerMapping의 대상으로 인식하도록 하는 역할을 한다고 학습했다.

RESTful 웹 서비스 엔드포인트를 정의하는 데에 주로 사용하는 @RestController와 일반적인 스프링 MVC컨트롤러를 정의하는 @Controller의 작동 방식의 차이에 대해서 더 탐구하고자 한다.

어노테이션 @Controller@RestController의 작동 방식 차이는 무엇인가?

관련 섹션

zuminzi commented 1 year ago

답변

1. @Controller

2. @RestController

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Controller
@ResponseBody
public @interface RestController {
   @AliasFor(annotation = Controller.class)
    String value() default "";
}

3. 결론

References