接上回研究全局异常处理器的过程中,发现spring是通过参数解析器(HandlerMethodArgumentResolver)解析全局异常处理器的参数的。本文稍微研究一下参数解析器;
2.调用过程调用全局异常处理方法的过程分为如下三步。本文主要研究方法处理器(HandlerMethod),后续两篇研究参数解析器(HandlerMethodArgumentResolver)和返回值处理器(HandlerMethodReturnValueHandler)
- 创建方法处理器(HandlerMethod),解析方法的参数,并处理返回结果;
- 方法处理器委托参数解析器(HandlerMethodArgumentResolver)解析方法的参数;
- 方法处理器委托返回值处理器(HandlerMethodReturnValueHandler)处理方法的返回结果;
在全局全局异常处理器中使用各种类型的参数;
3.1.默认参数解析器- request由ServletRequestMethodArgumentResolver解析,默认可以使用;
- @RequestParam由RequestParamMapMethodArgumentResolver解析,默认不可以使用。需要通过WebMvcConfigurationSupport的addArgumentResolvers方法添加;
@RestControllerAdvice
public class GoldjetInterfacePlatformExceptionHander extends AppExceptionHandler {
/
@Configuration
public class MyConfig extends WebMvcConfigurationSupport {
/
public class MyWebArgumentResolver implements WebArgumentResolver {
/
@Configuration
public class MyConfig extends WebMvcConfigurationSupport {
/
public ConcurrentResultHandlerMethod(final Object result, ConcurrentResultMethodParameter returnType) {
super((Callable


