1、启动配置MethodValidationPostProcessor
@Bean
public MethodValidationPostProcessor methodValidationPostProcessor() {
return new MethodValidationPostProcessor();
}
2、添加全局异常处理流程
//添加全局异常处理流程,根据需要设置需要处理的异常,以MethodArgumentNotValidException为例,在自定义的GlobalExceptionHandler中添加
@ExceptionHandler(value= MethodArgumentNotValidException.class)
@ResponseBody
public Object MethodArgumentNotValidHandler(HttpServletRequest request,
MethodArgumentNotValidException exception) throws Exception
{
//按需重新封装需要返回的错误信息
List<ValidateResult> invalidArguments = new ArrayList<>();
//解析原错误信息,封装后返回,此处返回非法的字段名称,原始值,错误信息
for (FieldError error : exception.getBindingResult().getFieldErrors()) {
ValidateResult invalidArgument = new ValidateResult();
invalidArgument.setValidateMessage(error.getDefaultMessag