美文网首页
自定参数解析器 HandlerMethodArgumentRes

自定参数解析器 HandlerMethodArgumentRes

作者: 造一个大大的轮子 | 来源:发表于2019-11-05 11:13 被阅读0次

    自定义参数解析器需要实现HandlerMethodArgumentResolver接口:

    public interface HandlerMethodArgumentResolver {
        boolean supportsParameter(MethodParameter var1);
    
        Object resolveArgument(MethodParameter var1, ModelAndViewContainer var2, 
                NativeWebRequest var3, WebDataBinderFactory var4) throws Exception;
    }
    
    • supportsParameter: 用于判定是否需要处理该参数分解,返回true为需要,返回false为不需要;当返回true的时候,就会调用resolveArgument()方法;
    • resolveArgument真正用于处理参数分解的方法,返回的Object就是处理以后映射到controller方法上面形参的对象

    扩展: SpringMVC自带了一些其他的实现,我们可以根据需要来进行重写:

    • ServletRequestMethodArgumentResolverServletResponseMethodArgumentResolver处理了自动绑定
      HttpServletRequestHttpServletResponse
    • RequestParamMapMethodArgumentResolver处理了@RequestParam
    • RequestHeaderMapMethodArgumentResolver处理了@RequestHeader
    • PathVariableMapMethodArgumentResolver处理了@PathVariable
    • ModelAttributeMethodProcessor处理了@ModelAttribute
    • RequestResponseBodyMethodProcessor处理了@RequestBody

    相关文章

      网友评论

          本文标题:自定参数解析器 HandlerMethodArgumentRes

          本文链接:https://www.haomeiwen.com/subject/fijsbctx.html