普通验证异常的处理
简述
在Spring Boot 的数据验证中, 验证结果信息存放于BindingResult中,一般是通过自定义异常的方式手动抛出.
在本实例中首先是定义一个ValidationErrorsException 运行时异常.异常中解析 BindingResult 中的错误信息.
通过全局异常的方式统一返回.
自定义异常
继承运行时异常,获取BindingResult中错误的属性信息。
/**
* 验证异常处理.
*A
* @author panqingcui
* @create 2020-05-05 16:24
*/
public class ValidationErrorsException extends RuntimeException {
private final BindingResult bindingResult;
public ValidationErrorsException(BindingResult errors) {
this.bindingResult = errors;
}
public String getErrors() {
return processErrorMsg(bindingResult);
}
private static String processErrorMsg(BindingResult result) {
List<FieldError> list = result.getFieldErrors();
StringBuilder msg = new StringBuilder();
for (FieldError fieldError : list) {
msg.append("[");
msg.append(fieldError.getField());
msg