RequestMappingHandlerAdapter
구조
- ArgumentResolver (1번)
- 애노테이션 기반의 컨트롤러의 파라미터를 매우 유연하게 처리할 수 있게 해줌
- 컨트롤러의 파라미터, 애노테이션 정보를 기반으로 전달 데이터 생성
- 파라미터의 값이 모두 준벼되면 컨트롤러를 호출하면서 넘겨줌
- 동작 방식
- supportsParameter() 호출하여 파라미터 지원 여부 체크
- -> resolveArgument() 호출하여 실제 객체 생성
- 컨트롤러 호출시 전달
- ReturnValueHandler (3번)
- HandlerMethodReturnValueHandler의 줄임
- ArgumentResolver와 비슷하나 응답 값을 변환하고 처리해줌
- String을 반환하든 ModelAndView를 반환하든 유연하게 처리 가능
- 위 두 기능에 HttpMessageConverter가 위치함
- 1번 - HTTP 메세지를 처리해서 요청 데이터 생성
- 2번 - 응답 데이터를 HTTP 메세지에 입력
댓글남기기