Spring - @Controller & @RestController
두 어노테이션의 차이를 정리하고자 글을 남긴다.
@Controller
- View를 반환
- @ResponseBody를 사용하면 View를 반환하지 않고 직접 데이터를 반환한다.
@RestController
- @Controller + @ResponseBody가 추가된 개념이다.
- 스프링 4버전 이후로 출시됨
- @RestController 를 선언하면 @ResponseBody를 선언하지 않고 같은 효과
즉 @Controller와 @RestController의 주요 차이점은 ResponseBody가 생성되는 방식이다.
@Controller에서 필요한 것들만 @ResponseBody를 추가해서 사용해도 기능상에는 문제가 없지만 코드를 보는 입장에서는
다른 기능들이 섞여있는 모양이므로 기능 구분을 위해서 @Controller로 뷰 객체를 반환하는 기능과 @RestController를 써서 데이터를 반환하는 기능을 구분을 두는 것이 좋다.
'Spring' 카테고리의 다른 글
Spring - JUnit5을 이용한 단위 테스트 (기본 어노테이션 및 AssertJ) (0) | 2021.08.01 |
---|---|
Spring - Port 8080 is already in use 에러 해결 (0) | 2021.07.22 |
Spring - redirect 시 parameter 전달 방법 (0) | 2021.05.20 |
Spring - Scheduler 설정 방법 및 사용방법 (0) | 2021.05.14 |
Spring - Transaction Propagation 속성 (0) | 2021.05.02 |
댓글