@Controller와 @RestController 차이

박병주·2023년 3월 5일
0

Spring

목록 보기
5/6

@Controller@RestController는 스프링 프레임워크에서 컨트롤러를 정의할 때 사용되는 어노테이션이다.

@Controller

@Controller 어노테이션은 전통적인 웹 애플리케이션에서 사용되며, 데이터를 생성하거나 웹 뷰를 반환하는 등의 기능을 수행한다. 일반적으로 @ControllerView를 반환하기 위해 사용되며, View와 관련된 뷰 리졸버(View Resolver)를 사용한다. 따라서 @Controller가 반환하는 값은 주로 HTML, JSP 등과 같은 뷰 템플릿이다.

@RestController

@RestController 어노테이션은 RESTful 웹 서비스에서 사용된다. RESTful 웹 서비스에서는 JSON, XML, TEXT 등의 데이터 포맷으로 데이터를 반환해야 한다. 따라서 @RestController는 JSON/XML 등의 데이터를 반환하기 위해 사용되며, @Controller의 기능에 @ResponseBody 어노테이션을 추가한 것과 같다. @RestController는 뷰를 반환하지 않으며, HTTP 요청에 대한 응답으로 데이터를 직접 반환합니다.

즉, @ControllerView를 반환하기 위해 사용되고, @RestController데이터를 반환하기 위해 사용된다. @RestController를 사용하면, 데이터를 생성하기 위한 코드를 작성할 때 더 간결하고 명확한 코드를 작성할 수 있다!

profile
Developer

0개의 댓글