请求中:
- HandlerMapping中找到能处理请求的Handler(Controller层的方法)
- 为当前Handler 找一个适配器 HandlerAdapter; 使用的RequestMappingHandlerAdapter
- 适配器执行目标方法并确定方法参数的每一个值
参数解析器:(类似使用注解@PathVariable)
RequestParamMethodArgumentResolver(getBeanFactory(), false)
RequestParamMapMethodArgumentResolver()
PathVariableMethodArgumentResolver()
PathVariableMapMethodArgumentResolver()
MatrixVariableMethodArgumentResolver()
MatrixVariableMapMethodArgumentResolver()
ServletModelAttributeMethodProcessor(false)
RequestResponseBodyMethodProcessor(getMessageConverters(), this.requestResponseBodyAdvice)
RequestPartMethodArgumentResolver(getMessageConverters(), this.requestResponseBodyAdvice)
RequestHeaderMethodArgumentResolver(getBeanFactory())
RequestHeaderMapMethodArgumentResolver()
ServletCookieValueMethodArgumentResolver(getBeanFactory())
ExpressionValueMethodArgumentResolver(getBeanFactory())
SessionAttributeMethodArgumentResolver()
RequestAttributeMethodArgumentResolver()
ServletRequestMethodArgumentResolver()
ServletResponseMethodArgumentResolver()
HttpEntityMethodProcessor(getMessageConverters(), this.requestResponseBodyAdvice)
RedirectAttributesMethodArgumentResolver()
ModelMethodProcessor()
MapMethodProcessor()
ErrorsMethodArgumentResolver()
SessionStatusMethodArgumentResolver()
UriComponentsBuilderMethodArgumentResolver()
返回值处理器:
ModelAndViewMethodReturnValueHandler()
ModelMethodProcessor()
ViewMethodReturnValueHandler()
ResponseBodyEmitterReturnValueHandler(getMessageConverters(),this.reactiveAdapterRegistry, this.taskExecutor, this.contentNegotiationManager)
StreamingResponseBodyReturnValueHandler()
HttpEntityMethodProcessor(getMessageConverters(),this.contentNegotiationManager, this.requestResponseBodyAdvice)
HttpHeadersReturnValueHandler()
CallableMethodReturnValueHandler()
DeferredResultMethodReturnValueHandler()
AsyncTaskMethodReturnValueHandler(this.beanFactory)
ServletModelAttributeMethodProcessor(false)
RequestResponseBodyMethodProcessor(getMessageConverters(),this.contentNegotiationManager, this.requestResponseBodyAdvice)
ViewNameMethodReturnValueHandler()
MapMethodProcessor()