普通驗證異常的處理
簡述
在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