Cómo utilizar la API de validación de Java para la verificación de parámetros
Verificación de parámetros mediante validación de hibernación en JAVA
Al desarrollar código del lado del servidor JAVA, nos encontraremos con la necesidad de verificar la legalidad de los parámetros externos y el validador de hibernación Algunos de uso común Se proporcionan anotaciones de verificación de parámetros, que podemos usar.
1.Introduzca el jar correspondiente al validador de hibernación en maven:
2. Defina el campo a verificar en el Modelo (es decir, el campo no puede estar vacío y la longitud máxima es 14):
import javax.validation.constraints.Size;
importar org.hibernate.validator.constraints.NotEmpty;
clase pública PayRequestDto {
/**
* Tiempo de finalización del pago
* */
@NotEmpty(message="El tiempo de finalización del pago no puede estar vacío")
@Size(max=14, message="El tiempo de finalización del pago no puede exceder {max} dígitos" )
cadena privada payTime;
cadena pública getPayTime() {
return payTime;
}
public void setPayTime(String payTime) {
this.payTime = payTime;
}
}
3. Defina la clase de herramienta de validación:
import java.util.Set;
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
importar javax.validation.Validator;
importar org.hibernate.validator.HibernateValidator;
importar com.atai.framework.lang.AppException; p>
Clase pública ValidationUtils {
/**
* Usar anotaciones de hibernación para verificación
*
*/
Validador estático privado validador = Validación
.byProvider(HibernateValidator.class).configure().failFast(true).buildValidatorFactory().getValidator();
/**
* Descripción de la función:
* 〈Parámetros de verificación de anotaciones〉
*
* @param obj
* @ver [clase/método relacionado](opcional)
* @since [versión del producto/módulo](opcional)
*/
public static
Establecer
//Lanzar validación excepción
if (constraintViolations.size() > 0) {
throw new AppException("0001", String.format("Error en la verificación de parámetros: %s", constraintViolations.iterator ( ).next().getMessage()));
}
}
}
4. Clase para verificación de parámetros:
ValidationUtils.validate(requestDto);
La siguiente es una descripción de algunas anotaciones en hibernate-validator:
Se utiliza @AssertTrue campo booleano, este campo solo puede ser verdadero
@AssertFalse El valor de este campo solo puede ser falso
@CreditCardNumber realiza una verificación aproximada del número de tarjeta de crédito
@DecimalMax solo puede ser menor o igual que el valor
@DecimalMin solo puede ser mayor o igual que el valor
@Digits(integer=,fraction=) verifica si es un número entero, fracción, número de decimales
@Email comprueba si es una dirección de correo electrónico válida
@Future comprueba si la fecha de este campo es futura
@Length(min=,max=) comprueba si la longitud del campo está entre el mínimo y el máximo. Solo se puede utilizar para cadenas
@Max El valor de este campo. solo puede ser menor o igual a este valor
@Min El valor de este campo solo puede ser mayor o igual a este valor
@NotNull no puede ser nulo
@NotBlank no puede estar vacío y se incluirán espacios al marcar Ignorar
@NotEmpty no puede estar vacío; vacío aquí se refiere a la cadena vacía
@Null Compruebe si el campo está vacío
@Past Verifique la fecha del campo En el pasado
@Pattern(regex=,flag=) El elemento anotado debe ajustarse a la expresión regular especificada
@Range(min=,max=,message=) Los elementos anotados deben estar dentro del rango apropiado
@Size(min=, max=) comprueba si el tamaño del campo está entre min y max, que puede ser una cadena, matriz, colección, mapa, etc.
@URL(protocol=,host,port) comprueba si es una URL válida si el protocolo, el host, etc. proporcionada, la URL también debe cumplir las condiciones proporcionadas
@Valid Esta anotación se usa principalmente cuando el campo es una colección, mapa o matriz que contiene otros objetos, o el campo es una referencia directa a otro objeto, por lo que que al verificar el objeto actual, también se verificará el objeto al que hace referencia el campo