ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Spring Boot] @RestController와 @Contoller
    Spring/Study 2023. 5. 26. 21:20

    서론

    Spring Boot에서 중요한 컨트롤러를 구현할 때 사용되는
    두 가지 어노테이션 @RestController@Controller에 대하여 간략히 정리하겠다.


    @Controller

    @Controller 어노테이션은 해당 클래스가 컨트롤러의 역할을 하도록 스프링에게 알려주는 역할을 한다. 이를 통해 프런트컨트롤러 (Dispatcher Servlet)가 해당 클래스를 사용하여 요청을 처리하며, 일반적으로 뷰에 대한 정보를 전달하는 용도로 사용된다. 메소드에 @ResponseBody 어노테이션이 없다면, 값을 리턴할 때 문자열로 리턴되어 View의 이름으로 매칭되어 실행된다.


    @RestController

    @RestController는 @Controller와 @ResponseBody 어노테이션의 조합버전이다. 자바 객체를 JSON 또는 XML 형식으로 직렬화하여 HTTP 응답 본문으로 리턴할 때 사용된다. REST 방식의 웹 서비스를 구현할 때 자주 사용되며, 주로 JSON 형식의 데이터를 반환하기 원하는 메소드에 사용된다.


    @RestController와 @Controller의 차이

    @RestController와 @Controller의 가장 큰 차이는 응답값에 대한 용도이다. @RestController는 주로 JSON 형태의 데이터를 반환하여 RESTful 웹 서비스를 만들 때 사용되고, @Controller는 클라이언트가 서버로 요청을 보낼 때 뷰에 대한 정보를 전달하는 쪽에 집중된다.


    정리

    Spring Boot의 EndPoint로 사용되는 Contoller 어노테이션이다.
    @RestController는 RESTful한 API로 프론트와 통신할 때 사용되며
    @Controller는 MVC 모델로 동작할 때 사용된다.


    댓글

Designed by black7375.