应用 @Validated 加 @NotBlank 校验 字符串不能为空报错 Validation failed for argument [0] …..,应该是多个入参导致的
解决办法:
1 版本问题,查看版本是否抵触或者过低
2 在入参减少减少 BindingResult bindingResult
public ApiResult<Object> logon(@Validated(APPLoginGroups.class) @RequestBody StUsers stUsers, BindingResult bindingResult, @RequestParam String code)
在办法中减少代码
if (bindingResult.hasErrors()) {return ApiResult.fail(bindingResult.getFieldError().getDefaultMessage());
}
2 的简化版
当然因为 Validation 报错是固定的一个类,能够应用全局异样进行捕捉同一返回
public ApiResult<Object> logon(@Validated(APPLoginGroups.class) @RequestBody StUsers stUsers, @RequestParam String code)
全局异样捕捉
/**
* @Validated 自定义验证异样, 同一返回
*/
@ExceptionHandler(MethodArgumentNotValidException.class)
public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException e) {//log.error(e.getMessage(), e);
String message = e.getBindingResult().getFieldError().getDefaultMessage();
return ApiResult.fail(message);
}