Red de conocimiento informático - Material del sitio web - Cómo utilizar la API de verificación JAVA para la verificación de parámetros

Cómo utilizar la API de verificación 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 verificación de legalidad de los parámetros pasados ​​al exterior, y el validador de hibernación proporciona algunas anotaciones de verificación de parámetros de uso común que podemos tomar. ventaja de.

1. Introduce el jar correspondiente a hibernate-validator en maven:

org.hibernate

<.artifactId>validador de hibernación

4.3.1.Final

2. Defina los campos a verificar en el modelo (es decir, los campos no pueden estar vacíos y la longitud máxima es 14):

importar javax.validation.constraints.Size;

import org.hibernate.validator.Constraints.NotEmpty;

public class PayRequestDto {

/**

* Tiempo de finalización del pago

**/

@NotEmpty(message="El tiempo de finalización del pago no puede ser nulo")

@Size(max=14,message="Tiempo de finalización del pago la longitud no puede exceder { max} bits")

private String payTime;

public String getPayTime() {

return payTime;

}

public void setPayTime(String payTime) {

this.payTime = payTime;

}

}

3. Defina la clase de herramienta de validación:

importar java.util.Set;

importar javax.validation.ConstraintViolation;

importar javax.validation. Validator;

3.AppException;

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 ();

/* *

* Función:

* 〈Parámetros de verificación de comentarios〉

*

* @param obj

* @see [Clases/métodos relacionados](opcional)

* @since [Versión del producto/módulo](opcional )

*

/

público estático <T> validación nula (T obj) {<

/p>

Establecer> constraintViolations = validator.validate( obj);

//Lanzar excepción de validación

if (constraintViolations.size() > 0 ) {

throw new AppException("0001", String.format("Error al validar el parámetro:%s", constraintViolations.iterator().next().getMessage());

}

}

}

}

4. Llame al kit de herramientas en código para verificar los parámetros:

ValidationUtils.Validate(requestDto);

A continuación se introducen algunas anotaciones en hibernate-validator:

@AssertTrue se usa para campos booleanos, el valor de este campo solo puede ser Es true

@AssertFalse El valor de este campo solo puede ser falso

@CreditCardNumber proporciona verificación general de números de tarjetas de crédito

@DecimalMax solo puede ser menor que o igual a este valor

@DecimalMin solo puede ser mayor o igual a este valor

@Digits(integer=, verifica si el campo es un número entero, fraccionario o decimal

@Email Compruebe si el campo es una dirección de correo electrónico válida

@Future Compruebe si la fecha del campo es en el futuro

@Length(min=,max =) Verifique si el campo está entre min y max, solo se puede usar en el futuro max, solo se puede usar para cadenas

El valor del campo @Max solo puede ser menor o igual a este value

El valor del campo @Min solo puede ser mayor o igual a este valor

@NotNull no puede estar vacío

@NotBlank no puede estar vacío, y los espacios se ignoran al comprobar

@NotEmpty no puede estar vacío

@NotEmpty no puede estar vacío, donde vacío es una cadena vacía

@Null comprueba si el campo está vacío

@Past comprueba si la fecha del campo es pasada

p>

@Pattern(regex=,flag=) El elemento anotado debe coincidir con el especificado expresión regular

@Range(min =, max=,message=) El elemento anotado debe estar dentro del rango apropiado

@Size(min=, max=) comprueba si el El tamaño del campo está entre el mínimo y el máximo. El campo puede ser una cadena, una matriz, una colección, un mapa, etc.

@URL(protocol=,host,puerto) comprueba si el campo cumple con las condiciones proporcionadas. Si se proporciona el protocolo, el host, etc., la URL también debe cumplir con las condiciones proporcionadas.

@Valid Esta anotación se usa principalmente cuando el campo es una colección, mapa o matriz de otros objetos, o cuando el campo es una referencia a otros objetos. De esta manera, mientras se verifica el objeto actual, el objeto al que hace referencia el campo. también será revisado