La diferencia entre @NotNull, @NotEmpty y @NotBlank, la última explicación detallada oficial

prefacio

Tengo el requisito de que los parámetros pasados ​​no puedan estar vacíos. De hecho, significa que deben pasarse. Le pregunté a los superiores de nuestra empresa y me pidieron que escribiera @Blank. Después de escribirlo, seguí informando un error. : Mi código es por ejemplo HV000030: No validator could be found for constraint 'javax.validation.constraints.NotBlank' validating type 'java.lang.Integer'. Check configuration for 'pageSize'
:

@Data
public class QueryVideoPageDTO {
    
    
    private String userName;
    @NotNull(message = "pageSize不能为空")
    @Min(value = 1)
    private Integer pageSize;
    @NotBlank(message = "pageNum不能为空")
    @Min(value = 1)
    private Integer pageNum;
}

Solución: reemplace @NotBlank con @NotNull

@Data
public class QueryVideoPageDTO {
    
    
    private String userName;
    @NotNull(message = "pageSize不能为空")
    @Min(value = 1)
    private Integer pageSize;
    @NotBlank(message = "pageNum不能为空")
    @Min(value = 1)
    private Integer pageNum;
}

la diferencia

Mire directamente la explicación oficial:

@No nulo

inserte la descripción de la imagen aquí
Significa que el atributo que utiliza esta anotación no puede ser nulo y puede usarse en cualquier tipo de atributo.

@No vacío

inserte la descripción de la imagen aquí
Significa que el atributo que usa esta anotación no puede ser nulo o una cadena vacía (longitud <= 0); se puede usar en cadenas, colecciones de colecciones, colecciones de mapas y matrices de matrices;

@NoEnBlanco

inserte la descripción de la imagen aquí
Significa que el atributo de esta anotación no puede ser nulo y debe contener una cadena de caracteres que no estén en blanco (longitud >= 0), que se puede usar en cadenas.

Resumir

@NotNull: se puede usar en cualquier tipo y no se permite que el valor sea nulo
@NotEmpty: se puede usar en cadenas, colecciones de colecciones, colecciones de mapas, matrices de matrices; no se permite que el valor sea nulo y la cadena de longitud < = 0
@NotBlank: solo se puede usar en Se usa en cadenas; el valor no debe ser nulo y la longitud de la cadena debe ser > 0. Las cadenas en blanco como espacios, retornos de carro y tablas no funcionarán~

Supongo que te gusta

Origin blog.csdn.net/qq_44444470/article/details/131811764
Recomendado
Clasificación