es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Spring Boot: cómo validar que se proporcionen 2 parámetros de fecha opcionales tan pronto como se proporcione uno?

Desde un controlador de Spring Boot, me pregunto cuál es el patrón a seguir para verificar que dos parámetros de fecha opcionales no puedan ser nulos tan pronto como se proporcione uno. En otras palabras, pueden ser nulos o ambos llenos.

Vi algunas restricciones a nivel de clase, pero no estoy seguro si puedo aplicarlas en dos parámetros diferentes.

Por favor, dime qué se recomienda en este caso.

Gracias.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para verificar que los dos parámetros de fecha opcionales no pueden ser nulos tan pronto como se proporcione uno, se puede utilizar la validación a nivel de método con la anotación @NotNull. Esta anotación se utiliza para marcar un parámetro como no nulo, y se puede aplicar a cada uno de los parámetros de fecha individualmente.

    Aquí hay un ejemplo de patrón:

    public ResponseEntity<cardresponse> getCards(
                @RequestParam(required = false) String orderReference,
                @RequestParam(required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) @NotNull(message = "La fecha de inicio de colocación del pedido no debe ser nula") LocalDateTime orderPlacementDateStart,
                @RequestParam(required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) @NotNull(message = "La fecha de fin de colocación del pedido no debe ser nula") LocalDateTime orderPlacementDateEnd,
                @PageableDefault(page = DEFAULT_PAGE_NUMBER, size = DEFAULT_PAGE_SIZE) Pageable pageRequest) {
    
        }
    

    En este patrón, cada uno de los parámetros de fecha se marca como @NotNull, lo que significa que no pueden ser nulos tan pronto como se proporcione uno. Si uno de los parámetros es nulo mientras que el otro no lo es, se producirá un error de validación.

    Nota: Asegúrese de importar la anotación @NotNull desde el paquete javax.validation.constraints.

    Esta es una forma recomendada de validar parámetros opcionales en un controlador de Spring Boot.

Comments are closed.