- 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
Crear endpoint POST para guardar películas en Spring Boot
Clase 16 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
Crear un endpoint que permita almacenar datos desde el frontend hacia el backend es fundamental para cualquier API moderna. Aquí descubrirás cómo implementar en Spring un endpoint POST, aprovechando patrones como DTO, mapeadores automáticos y buenas prácticas para la persistencia de datos.
¿Cómo funciona el método POST en una API para guardar recursos?
El método POST permite recibir información y agregar nuevos recursos en la base de datos. Todo comienza dentro del controlador (MovieController), donde se define un método que:
- Responde con un ResponseEntity<MovieDTO>.
- Recibe como parámetro un objeto MovieDTO con la anotación @RequestBody para indicar que los datos llegan en el cuerpo de la petición.
- Se anota con @PostMapping para asociar la ruta y el verbo HTTP.
Esto habilita la ruta /movies para guardar películas nuevas usando solicitudes POST con datos en formato JSON.
¿Qué pasos hay que seguir para transformar y guardar los datos recibidos?
Para persistir la información recibida es fundamental preparar todos los componentes:
- El repositorio (CrudMovieEntity) ofrece un método save que requiere una entidad (MovieEntity), no un DTO.
- Por ello, es necesario crear en el mapper (MovieMapper) una función toEntity, usando @InheritInverseConfiguration de MapStruct, que convierte un MovieDTO en una entidad lista para guardar.
- El campo especial genre necesita un mapeo adicional usando qualifiedByName, ajustando de stringToGenre a genreToString según el sentido de la conversión.
- Para asignar el estado por defecto al guardar, se establece manualmente como 'Disponible'. El campo ID no se debe definir, ya que la base de datos lo genera automáticamente.
Después de guardar la entidad, el resultado se transforma nuevamente a DTO para devolverlo al cliente.
¿Cuál es la forma correcta de responder una creación exitosa?
Es una buena práctica responder con el estado HTTP correcto cuando se crea un recurso. Aplicando Spring, puedes hacer esto así:
- Utilizar ResponseEntity.status(HttpStatus.CREATED) para indicar que se creó algo nuevo.
- El cuerpo de la respuesta es el DTO que representa la película efectivamente guardada.
- No es indispensable retornar una URI específica si no está disponible: el enfoque flexible muestra cómo elegir entre soluciones y adaptarlas al flujo deseado.
¿Cómo probar el endpoint POST y visualizar los resultados?
Para probar el endpoint, se recomienda emplear herramientas como Postman, ya que los navegadores no permiten enviar cuerpos en solicitudes POST de forma sencilla. Los pasos para realizar la prueba serían:
- Enviar una solicitud POST a la ruta api/movies, indicando los campos de la película en JSON (example: título, duración, género, año de lanzamiento y rating).
- Al recibir la respuesta con HTTP 201 Created y el nuevo ID, puedes consultar dicha película con un GET y corroborar que fue agregada correctamente.
- También es posible recuperar el listado de todas las películas y verificar que la nueva se encuentra al final del listado.
¿Has probado ya crear endpoints similares? Comparte tus experiencias y dudas para seguir creciendo juntos.