1、引入依赖
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
2、开启验证,在RequestBody注解前面加上Valid 注解
@Valid @RequestBody
3、级联对象验证,在需要验证字段的对象属性上面加上Valid 注解,表示当前对象里面的字段也需要验证
@Valid private Object obj;
4、如果验证失败,返回验证错误提示
@ResponseStatus(HttpStatus.BAD_REQUEST)
@ExceptionHandler(MethodArgumentNotValidException.class)
public Map<String, String> handleValidationExceptions(MethodArgumentNotValidException ex) {
Map<String, String> errors = new HashMap<>();
ex.getBindingResult().getAllErrors().forEach((error) -> {
String fieldName = ((FieldError) error).getField();
String errorMessage = error.getDefaultMessage();
errors.put(fieldName, errorMessage);
});
return errors;
}