스프링부트 Response

김형민·2021년 10월 11일
0


요청
주소에 따른 적절한 컨트롤로 요청 (Handler Mapping)
GET요청 => http://localhost:8080/post/1

해당 주소 요청이 오면 적절한 컨트롤러의 함수를 찾아서 실행한다.

응답
html파일을 응답할지 Data를 응답할지 결정해야 하는데 html 파일을 응답하게 되면 ViewResolver가 관여하게 된다.

ViewResolver란?
ex) 응답할 것이 jsp 파일이라면 경로가 prefix로 subfix로 .jsp 합성자가 붙어 return해준다

  1. dispatcherServlet이 컴포넌트 스캔

  2. a라는 클래스가 메모리에 뜬다

  3. handlerMapping이 함수를 찾아낸다

  4. a안에 hello라는 함수("hello"를 리턴)가 있다. 실행됨
    단순히 string을 return해준다.
    MessageConverter가 작동하고 메세지를 컨버팅할 때 기본전략은 json형태이다.(보통 @ResponseBody를 붙여준다)

  5. 만약 데이터가 아닌 파일을 return 하게 된다면ViewResolver가 관여한다.
    WEB-INF/view/hello.jsp

하지만 Data를 응답하게 되면 MessageConverter가 작동하게 되는데 메시지를 컨버팅할 때 기본전략은 json이다.

응답형태가 데이터라면 jackson이 등장한다.
jackson은 json으로 데이터를 만들어준다.
jackson은 MessageConverter라고 부른다

출처 https://getinthere.tistory.com/11

profile
항해 중인 개발자

0개의 댓글