springboot怎么处理验证框架的异常
时间: 2023-07-13 12:24:11 浏览: 115
在 Spring Boot 中处理验证框架的异常通常需要使用 `@ExceptionHandler` 注解,将异常处理方法与控制器类进行关联。当验证框架抛出异常时,Spring Boot 会自动调用异常处理方法并返回处理结果。
以下是一个处理 `MethodArgumentNotValidException` 异常的例子:
```java
@RestControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(MethodArgumentNotValidException.class)
public ResponseEntity<Object> handleMethodArgumentNotValid(MethodArgumentNotValidException ex) {
// 获取验证错误信息
BindingResult bindingResult = ex.getBindingResult();
List<FieldError> fieldErrors = bindingResult.getFieldErrors();
// 构造错误信息
List<String> errorMessages = new ArrayList<>();
for (FieldError fieldError : fieldErrors) {
errorMessages.add(fieldError.getField() + ": " + fieldError.getDefaultMessage());
}
// 返回错误信息
return ResponseEntity.badRequest().body(errorMessages);
}
}
```
在上面的例子中,`@RestControllerAdvice` 注解表示这是一个全局的异常处理器,`@ExceptionHandler(MethodArgumentNotValidException.class)` 注解表示这个方法处理 `MethodArgumentNotValidException` 异常。在处理方法中,我们通过 `ex.getBindingResult()` 方法获取验证错误信息,然后将错误信息构造成一个列表返回给客户端。
阅读全文