@RestController, @Controller

YH·2023년 2월 3일
0

OverView
Controller란?

  • MVC 패턴에서 사용되는 방식으로, 클라이언트에서 들어온 요청을 처리(실제 처리는 Service(Layered Architecture에서 담당))하여 결과를 반환해 줌

@Controller

  • 클라이언트 요청으로부터 처리 후 View를 반환
  • ViewResolver가 실행되어 View를 찾고, Rendering 함
  • View가 아닌 데이터를 직접 반환하려는 경우, @ResponseBody 어노테이션 사용
    • @ResponseBody를 사용하면, View가 반환되지 않고 HTTP 메시지 바디에 데이터를 직접 입력하여 객체 데이터를 반환 함
    • viewResolver 대신에 HttpMessageConverter 가 동작 함

@RestController

  • @Controller + @ResponseBody 형태
  • 클라이언트 요청으로부터 객체 데이터를 반환
  • 컨트롤러에 @RestController를 사용하면, 컨트롤러 내에 모든 메소드는 @ResponseBody가 적용 됨
  • @RestController가 선언된 클래스 안에서 특정 메소드에서 View를 반환해야 한다면,
    ModelAndView를 사용하면 됨









동작 방식 및 원리는 아래 링크 참조
참고 출처

profile
하루하루 꾸준히 포기하지 말고

0개의 댓글