<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
@RestControllerAdvice
public class _ValidExceptionControllerAdvice extends BaseController {
@ExceptionHandler(InvalidFormatException.class)
public ResultVO<String> handleInvalidFormatException(InvalidFormatException e) {
return fail("参数" + e.getValue() + "格式错误");
}
@ExceptionHandler(MissingServletRequestParameterException.class)
public ResultVO<String> handleMissingServletRequestParameterException(MissingServletRequestParameterException e) {
return fail("参数不能为空:" + e.getParameterName());
}
@ExceptionHandler(BindException.class)
public ResultVO<String> handleBindException(BindException e) {
List<FieldError> fieldErrors = e.getBindingResult().getFieldErrors();
String errMsg = fieldErrors.stream()
.map(fieldError -> fieldError.getField() + fieldError.getDefaultMessage())
.collect(Collectors.joining(","));
return fail("参数校验失败:" + errMsg);
}
@ExceptionHandler(ConstraintViolationException.class)
public ResultVO<String> handleConstraintViolationException(ConstraintViolationException e) {
return fail("参数校验失败:" + e.getMessage());
}
}