如何定义MethodValidationPostProcessor的执行顺序?

时间:2019-08-04 11:53:27

标签: java spring spring-mvc

我使用MethodValidationPostProcessor bean来验证Controller类中方法的方法参数。具有周围建议的方面在此方法上被调用。全局异常处理程序使用ControllerAdvice捕获方法在参数验证失败时引发的任何异常。现在的问题是,只要方法抛出异常,它就会直接进入方面,而不会被全局异常处理程序捕获。以下是代码段–

自定义方面-

@Component
@Aspect
public class WebServiceAnnotationAspect implements Ordered {
// Around method

@Override
    public int getOrder() {
        return 1;
    }

}

全局自定义例外-

@ControllerAdvice
public class CustomExceptionHandler {

@ExceptionHandler(CustomException.class)
public void handleIncorrectParameterException(CustomException ce) {
// some code

}

为“ MethodValidationPostProcessor”定义的Bean-

<bean class="org.springframework.validation.beanvalidation.MethodValidationPostProcessor"/> 

当我删除Aspect时,全局异常处理程序会捕获异常。我相信,问题出在方面的执行顺序上。

如果是,是否有任何方法可以定义“ MethodValidationPostProcessor”的顺序?

0 个答案:

没有答案