文章目录
HandlerMethodArgumentResolver
作用:用来解析Controller类@RequstMapping方法参数的处理器
| 号 | 类名 | 处理的条件 supportsParameter |
|---|---|---|
| 1 | RequestParamMethodArgumentResolver | 被RequestParam标注且不被@RequestPart注解标注,如果标注的是map类型 |
| 2 | RequestParamMapMethodArgumentResolver | 被RequestParam标注且是Map的子类 |
| 3 | PathVariableMethodArgumentResolver | @PathVariable标注 |
| 4 | PathVariableMapMethodArgumentResolver | @PathVariable的Map参数 |
| 5 | MatrixVariableMethodArgumentResolver | @MatrixVariable |
| 6 | MatrixVariableMapMethodArgumentResolver | @MatrixVariable+Map |
| 7 | ServletModelAttributeMethodProcessor | 如果使用 {@ link ModelAttribute} 对参数进行批注,则返回 {@ code true}; 如果在默认解析模式下,则对于不是简单类型(CharSequence,Enum或者number类型)的任何方法参数,则返回 {@ code true}。 |
| 8 | RequestPartMethodArgumentResolver | RequestPart 或者不被RequestParam标注的Multipart类型(文件上传) |
| 9 | RequestHeaderMethodArgumentResolver | RequestHeader标注且不是Map类型 |
| 10 | RequestHeaderMapMethodArgumentResolver | @RequestHeander注释的Map入参 |
| 11 | ServletCookieValueMethodArgumentResolver | @CookieValue标注 |
| 12 | ExpressionValueMethodArgumentResolver | @Value |
| 13 | SessionAttributeMethodArgumentResolver | @SessionAttribute |
| 14 | RequestAttributeMethodArgumentResolver | @RequestAttribute |
| 15 | ServletRequestMethodArgumentResolver | WebRequest|ServletRequest|MultipartRequest|HttpSession| InputStream|Reader|HttpMethod|Locale|TimeZone类型或者参数类型叫java.time.ZoneId |
| 16 | ServletResponseMethodArgumentResolver | ServletResponse,OutputStream或者Writer的子类 |
| 17 | HttpEntityMethodProcessor | 参数类型为HttpEntity或者RequestEntity |
| 18 | RedirectAttributesMethodArgumentResolver | 参数类型是RedirectAttributes的子类 |
| 19 | ModelMethodProcessor | 类型是Model的子类 |
| 20 | MapMethodProcessor | 参数是Map类型的 |
| 21 | ErrorsMethodArgumentResolver | 参数是Errors子类 |
| 22 | SessionStatusMethodArgumentResolver | 参数为SessionStatus类型 |
| 23 | UriComponentsBuilderMethodArgumentResolver | 参数类型UriComponentsBuilder或者ServletUriComponentsBuilder类型 |
| 24 | RequestParamMethodArgumentResolver | 参数标注@RequestParam|| 不被@RequestPart标注的文件类型或简单类型 |
| 25 | ServletModelAttributeMethodProcessor | @ModelAttribute 或者不是简单类型 |