@Controller와 @RestController

초콜렛빵·2022년 5월 10일
0

TIL

목록 보기
5/27

@Controller와 @RestController 차이

@Controller란

  • 전통적인 Spring MVC 컨트롤러이며, View를 반환하기위해 주로 사용
  • Spring 구현 과정 중, 요청 처리후 ViewName을 반환하는 역할을 처리

@Controller로 Data 반환

  • 위의 View 뿐만 아니라, Data를 반환하는 경우에는 @ResponseBody 어노테이션을 추가하면 Json으로 데이터 반환 가능
  • 일반적으로 객체 반환시에는 ResponseEntity로 감싸서 반환하며, ViewResolver 대신 HttpMessageConverter가 동작
  • 해당 Converter는 데이터 타입에 따라 여러가지 컨버터가 적용

@RestController

  • @Controller@ResponseBody를 추가
  • 주용도는 Json 형태로 객체 데이터를 반환하는 것
  • REST API 개발 시 주로 ResponseEntity를 사용하는데 이는 앞서 언급한 @Controller@ResponseBody를 추가한 것과 동일
profile
차근차근 기록하고 배우는 개발자

0개의 댓글