HandlerMethodArgumentResolver的作用

在上一篇文章中使用到了HandlerMethodArgumentResolver,这里就给大家再详细讲一下HandlerMethodArgumentResolver。

SpringMvc中的HandlerAdapter会对Controller层方法的参数执行 HandlerMethodArgumentResolver(对参数的解析器)中的方法。

首先HandlerMethodArgumentResolver接口主要有两个方法,supportsParameter和resolveArgument。

supportsParameter方法

boolean supportsParameter(MethodParameter parameter);

这个方法,从字面上就很好理解,返回值是boolean类型,作用是,判断Controller层中的参数,是否满足条件,满足条件则执行resolveArgument方法,不满足则跳过。

resolveArgument方法

Object resolveArgument(MethodParameter parameter, @Nullable ModelAndViewContainer mavContainer,
        NativeWebRequest webRequest, @Nullable WebDataBinderFactory binderFactory) throws Exception;

这个方法,在supportsParameter方法返回true的情况下才会被调用。用于处理一些业务,将返回值赋值给Controller层中的这个参数。


总结一下,HandlerMethodArgumentResolver是一个参数解析器,我们可以通过写一个类实现HandlerMethodArgumentResolver接口来实现对COntroller层中方法参数的修改。

扫码关注,不迷路
扫码关注

猜你喜欢

转载自blog.csdn.net/Leon_cx/article/details/81058509