ArgumentResolver와 ReturnValueHandler 란? #19
Replies: 3 comments
-
|
Http 요청부터 응답까지의 흐름은 아래와 같습니다. 각각의 역할에 대해 알아보겠습니다! ArgumentResolver
-
ReturnValueHandler
|
Beta Was this translation helpful? Give feedback.
-
ArgumentResolver (HandlerMethodArgumentResolver)
주된 구현 메서드
ReturnValueHandler (HandlerMethodReturnValueHandler)
주된 구현 메서드
|
Beta Was this translation helpful? Give feedback.
-
등장 배경초기 Spring MVC는 시그니처가 정해져 있었습니다. 어떻게 동작할까요청이 들어오면 HTTP 요청
↓
DispatcherServlet → HandlerAdapter (컨트롤러 호출 책임)
↓
[메서드 파라미터마다 반복]
→ ArgumentResolver 목록을 순회하며 supportsParameter()로 묻기
→ "이 파라미터 내가 처리할 수 있어?" → Yes인 첫 번째 리졸버가 resolveArgument()로 값 생성
↓
컨트롤러 메서드 실행 (만들어진 인자들로)
↓
반환값을 ReturnValueHandler 목록에 넘김
→ supportsReturnType()으로 "내가 처리할 수 있어?" 묻기
→ Yes인 첫 번째 핸들러가 handleReturnValue()로 응답 처리
↓
HTTP 응답 |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
최근 Spring MVC를 디버깅하다가, ArgumentResolver 말고도 ReturnValueHandler를 알게되었는데요!
신기해서 같이 학습해보면 좋을 거 같아 발제해봅니다.
ArgumentResolver와 ReturnValueHandler란 무엇이며 어떤 역할을할까요??
Beta Was this translation helpful? Give feedback.
All reactions