pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
<version>3.1.5</version>
</dependency>
使用 @NotEmpty、@NotBlank、@NotNull
@NotEmpty
用于检查集合或数组等对象是否为 null 或空。该注解通常用于检查字符串是否为空,集合是否为空等情况。
@NotBlank
用于检查字符串是否不为空,并且去除首尾空格后长度大于 0。该注解通常用于检查用户输入的字符串是否为有效值。
@NotNull
用于检查对象(包装类:Integer、Boolean等)是否不为 null。该注解通常用于检查对象是否已经被初始化。
增加 @Validated 注解
全局异常处理器
在 Spring Boot 中,如果参数校验失败,将会抛出 MethodArgumentNotValidException
异常或 ConstraintViolationException
异常。为了统一处理这些异常,可以定义一个全局异常处理器。
@ExceptionHandler(value = MethodArgumentNotValidException.class)
public Result<String> handleValidException(MethodArgumentNotValidException e) {
System.out.println(e.getBindingResult().getErrorCount());
if (e.getBindingResult().getErrorCount() > 0){
return Result.error(e.getBindingResult().getFieldError().getDefaultMessage());
}
return Result.error(e.getMessage());
}