Contenido del curso
Herramientas y Validación de APIs
- 5

Validación automática con Express OpenAPI Validator
07:19 min - 6

Validación automática con OpenAPI en Express
13:53 min - 7

Múltiples respuestas HTTP en OpenAPI
04:10 min - 8

Cómo la IA genera endpoints desde OpenAPI
09:36 min - 9

Esquemas reutilizables de productos en OpenAPI
09:15 min - 10

Endpoints de productos con esquemas reutilizables
05:36 min - 11

API First con IA: construye CRUD sin codificar
Viendo ahora
Versionado, Prototipado y Documentación
Validación y Pruebas de Contratos
Seguridad
API First con IA: construye CRUD sin codificar
Resumen
Construir una API funcional sin escribir código manualmente es posible cuando combinas el enfoque API First, la especificación de OpenAPI y herramientas de inteligencia artificial como Cursor o ChatGPT. Aquí descubrirás cómo aprovechar un prompt bien estructurado para que la IA traduzca tu contrato en lógica funcional, depure errores y migre tu API a otros lenguajes en minutos.
Cómo le pides a Cursor que construya la lógica de tu API
El punto de partida es abrir un chat con el agente dentro del editor y referenciar el archivo OpenAPI como contexto. La instrucción debe ser específica: indicar qué recurso trabajar, dónde insertar el código y cómo simular los datos.
En la práctica, el prompt fue: "Con los últimos cambios en OpenAPI para productos, crea la lógica necesaria en index.js y simula la base de datos con un array simple". Con esa frase, Cursor entiende el contexto completo del proyecto, los paquetes instalados y la estructura previa, y empieza a generar los endpoints en Express.js.
¿Qué es API First? Es un enfoque donde primero defines el contrato de tu API en una especificación como OpenAPI y, a partir de ese contrato, construyes la lógica del servidor y del cliente.
Qué hacer si no tienes Cursor a la mano
No todos trabajan con un editor con agente integrado, y eso no es un problema. Puedes copiar el archivo OpenAPI completo y pegarlo en ChatGPT, Gemini o DeepSeek, y pedirle que analice el recurso y construya la API.
Ahí viene lo interesante: en el ejemplo se le pidió cambiar de lenguaje a Python con FastAPI. La IA leyó la especificación, listó los paquetes necesarios e implementó clases como HelloResponse, los endpoints de productos, usuarios y rating, todo siguiendo el contrato original [02:15].
La diferencia clave: ChatGPT no tiene contexto del proyecto completo, así que trabaja de forma aislada. Cursor sí entiende los archivos y dependencias, por eso inserta el código directamente donde corresponde.
Cómo se ve el código generado para productos
Una vez aceptados los cambios, conviene revisar lo que la IA produjo antes de seguir. En el ejemplo, generó:
- Una base de datos simulada como array con dos productos iniciales: una laptop en categoría electronics y el libro Clean Code anidado en libros de programación.
- Un endpoint POST para crear productos con validaciones según el esquema.
- Un GET para listar productos completos.
- Un GET por product ID para buscar uno específico.
- Un PUT para actualizar productos validando contra la base simulada.
- Un DELETE para eliminar por ID.
Cada endpoint respeta los nombres de variables, tipos y categorías predefinidas que se declararon en el contrato OpenAPI. La IA incluso eligió correctamente la categoría electronics para la laptop porque entendió las restricciones del esquema.
Por qué conviene reiniciar el servidor tras cambios grandes
Cuando hay varios endpoints nuevos, reiniciar con npm run dev ayuda a que el servidor reconozca toda la documentación desde cero. Si algo no quedó bien definido, el error aparece de inmediato y no después, en producción [06:40].
Cómo usar Swagger para validar la API construida
La documentación con Swagger se genera automáticamente desde la especificación OpenAPI, así que ya tienes una interfaz lista para probar cada endpoint sin escribir un cliente HTTP. Verás botones para crear, listar, obtener por ID, actualizar y eliminar productos.
Al ejecutar el GET de listar productos, apareció un internal server error. Aquí entra otra ventaja del enfoque: el middleware de OpenAPI Validator detecta inconsistencias entre el código y el contrato, y entrega pistas claras del problema.
¿Para qué sirve OpenAPI Validator? Es un middleware que valida en tiempo real que las peticiones y respuestas de tu API cumplan con la especificación OpenAPI definida en el contrato.
Cómo depurar errores con ayuda de la IA
Copiar el error completo y pegarlo en el chat del agente permitió identificar la falla: faltaba el tipo object en los items del array. Era un detalle del contrato, no de la lógica en Express.js, pero al estar capturado por el middleware, bloqueaba la respuesta.
Después de corregir la especificación, reiniciar el servidor y refrescar Swagger, el listado de productos respondió correctamente con los dos elementos iniciales.
Cómo probar el flujo completo CRUD desde Swagger
Con la API funcional, el siguiente paso es recorrer el ciclo completo:
- Crear producto: en el POST, Swagger ofrece una estructura base que puedes editar. Se creó un MacBook con precio 999 y categoría electronics. La respuesta devolvió un ID generado por timestamp.
- Listar productos: el GET mostró los tres elementos, incluyendo el recién creado.
- Obtener por ID: aquí surgió un detalle importante. El ID no era 3, sino un valor numérico largo basado en la fecha. Al usar el ID correcto, el producto apareció sin problema.
- Actualizar por ID: se cambió el nombre a MacBook Pro y el precio a 1.200. La respuesta confirmó la actualización.
- Eliminar por ID: la API devolvió un código 204, indicando éxito sin contenido. El listado final mostró solo los dos productos originales.
Qué significan los códigos de estado HTTP que viste
- 200: respuesta exitosa.
- 300: redirección.
- 400: error en la lógica del cliente.
- 500: error del servidor.
- 204: éxito sin contenido devuelto, típico de un DELETE.
Entender estos códigos te ayuda a interpretar lo que tu API responde y a diseñar el manejo de errores en el cliente.
Por qué este flujo cambia tu forma de construir APIs
El ejercicio completo demuestra que partiendo de un esquema bien definido (qué campos tiene un producto, sus reglas, sus mínimos), la inteligencia artificial puede generar la lógica en Express.js, migrarla a FastAPI con Python e incluso depurar errores de tipado en el contrato.
No escribiste prácticamente código manual, y aun así tienes una API funcional con CRUD completo, documentación interactiva y validación automática.
El reto ahora es replicar el proceso con un recurso distinto: diseña un esquema de usuario con perfil, avatar y otros campos, llévalo a OpenAPI y pídele a la IA que lo construya en Django con Python o en otro stack. ¿Qué resultado obtuviste? Cuéntalo en los comentarios.