- 1

¿Qué es Spring y por qué es tan popular?
01:49 - 2

Configuración inicial de proyecto Spring Boot con Java 21
07:00 - 3

Crear un endpoint REST con Spring Boot e integrarlo con IA usando LangChain4j
07:29 - 4

Configuración de application.properties y perfiles en Spring Boot
12:23 - 5

Arquitectura por capas orientada al dominio en Java
04:35 quiz de Introducción a Spring Boot
Validación automática de datos en APIs con Spring Boot
Clase 20 de 23 • Curso de Java Spring Boot
Contenido del curso
- 6

Conexión de Spring Boot con PostgreSQL usando Docker
10:36 - 7

Crear entidad con anotaciones JPA para tabla de base de datos
09:30 - 8

Repositorios CRUD con Spring Data sin escribir SQL
07:43 - 9

Creación de endpoints GET en Spring Boot para consultar películas
04:29 quiz de Persistencia con Spring Data y modelado de datos
- 10

Inyección de dependencias y contenedor IoC en Spring Boot
04:23 - 11

Separación de dominio y persistencia con DTOs en Java
08:55 - 12

Configuración de MapStruct con Spring para convertir entidades a DTO
09:26 - 13

Creación de conversores personalizados en MapStruct para enums y strings
10:01 - 14

Captura de parámetros con @PathVariable en Spring Boot
07:21 - 15

Códigos HTTP y Response Entity en APIs REST
06:52 quiz de Buenas prácticas en diseño de APIs
- 16

Crear endpoint POST para guardar películas en Spring Boot
10:20 - 17

Creación de endpoint PUT para actualizar películas en base de datos
11:50 - 18

Sistema de recomendaciones de películas con IA en Java
11:11 - 19

Control de excepciones con @RestControllerAdvice en Spring Boot
09:38 - 20

Validación automática de datos en APIs con Spring Boot
12:34 - 21

Documentación automática de APIs con OpenAPI en Spring Boot
10:52 - 22

Compilación de aplicación Java para producción con PostgreSQL
10:21 - 23

Despliegue de API Java con Docker en Render
10:20
Contar con validaciones automáticas en las APIs es clave para la calidad y seguridad de tus servicios. En este resumen aprenderás cómo aprovechar Spring Boot y las anotaciones de jakarta.validation para controlar los datos que recibe tu aplicación, evitando errores comunes y mejorando la experiencia de quienes consumen tus endpoints.
¿Por qué validar los datos de entrada en APIs es fundamental?
Validar los datos desde el inicio evita que información errónea llegue al núcleo de la lógica de la aplicación. Así, tu API responde de manera constructiva ante intentos de enviar datos incompletos o inconsistentes.
- Mejora la experiencia del usuario final al recibir mensajes claros.
- Previene fallos antes de que afecten procesos lógicos internos.
- Facilita el mantenimiento y robustez del código.
¿Cómo agregar una capa de validación en Spring Boot usando anotaciones?
Se recomienda agregar la dependencia "Validation" en tu proyecto mediante Spring Initializer (start.spring.io). Para ello, busca bean validation with Hibernate Validator o agrega 'Spring Boot Starter Validation' en tu archivo build.gradle y actualiza las dependencias.
Luego, utiliza las anotaciones en el DTO que representa el cuerpo de la petición:
- Aplica la anotación @Valid directamente en el parámetro que recibe el request body (por ejemplo, un objeto update movie DTO).
- Entre las validaciones más útiles están:
@NotBlankpara campos obligatorios que no pueden ser vacíos (ejemplo: título).@PastOrPresentpara fechas que no pueden ser futuras (ejemplo: fecha de lanzamiento).@Miny@Maxpara restringir valores numéricos (ejemplo: rating entre 0 y 5).- Puedes definir mensajes personalizados para cada validación, lo que permite ofrecer retroalimentación clara como "El título es obligatorio" o "El rating no puede ser mayor que cinco".
¿Cómo reportar errores de validación y manejar excepciones en tu API?
Cuando se incumple alguna de estas reglas, Spring lanza una excepción method argument not valid exception. Para manejarla de forma adecuada:
- Implementa un método anotado con @ExceptionHandler para capturar esta excepción específica.
- Devuelve un objeto ResponseEntity con una lista de errores detallada por cada campo que falló.
- Extrae la información relevante mediante
getBindingResult().getFieldErrors()y agrega mensaje y campo a dicho listado.
Este enfoque permite que el cliente reciba una lista con los problemas específicos, en vez de una respuesta genérica sin detalles.
Además, es recomendable agregar un manejador general para captar cualquier otra excepción no controlada (mediante @ExceptionHandler(Exception.class)), y responder con un internal server error y un mensaje explicativo. Así, ninguna excepción quedará sin procesar, y siempre sabrás qué está fallando.
¿Qué prácticas adicionales potencian la robustez de tu API con Spring Validation?
- Crea validadores para todos los endpoints críticos, no solo para actualizaciones.
- Ofrece siempre mensajes orientados al usuario para facilitar la solución del problema.
- Lleva seguimiento de los fallos en un log para futuras auditorías o depuración.
- Realiza pruebas simulando envíos incorrectos desde herramientas como Postman para garantizar la cobertura de escenarios.
¿Ya implementaste validaciones en todos los puntos de entrada de tu servicio? Cuéntanos cómo mejoró la calidad de tus endpoints o comparte tu reto en los comentarios.