Creando tu primera API REST: Conceptos, Validaciones y CORS
Introducción a la Arquitectura REST
El episodio profundiza en los fundamentos de una API REST (Representational State Transfer). Se destaca que REST es una arquitectura de software, no un framework, diseñada para la comunicación en redes.
Los Seis Pilares de REST
• Recursos: Todo es un recurso identificado por una URL.
• Métodos HTTP: Uso estricto de verbos para operaciones.
• Representaciones: Separación entre el recurso y su formato (JSON, XML).
• Stateless: Cada solicitud debe contener toda la información; el servidor no mantiene estados.
• Interfaz uniforme: Consistencia en las interacciones.
• Separación de conceptos: Cliente y servidor evolucionan independientemente.
Desarrollo y Validación con Zod
Se construye una API básica con Express para gestionar una colección de películas. El foco principal es la seguridad y robustez mediante la validación de datos en tiempo de ejecución.
• Validación con Zod: Se implementa para evitar inyecciones o datos malformados. En lugar de if/else complejos, se definen esquemas declarativos.
• Robustez: Se enfatiza que las APIs no deben ser excesivamente estrictas con datos extras, pero sí deben filtrar y validar lo necesario.
• Metodologías: Se explican las diferencias fundamentales entre POST (crear), PUT (reemplazar) e PATCH (actualizar parcialmente).
"Las APIs tienen que ser un embudo y deben estar abiertas a todo, pero tienen que ser exquisitas en lo que procesan."
El Problema del CORS
Se desmitifica el "temido" error de CORS (Cross-Origin Resource Sharing).
• El error es un mecanismo del navegador, no un fallo del servidor.
• Se requiere configurar cabeceras específicas como Access-Control-Allow-Origin.
• Pre-flight request: Se explica que métodos complejos como DELETE o PATCH disparan una petición previa de tipo OPTIONS que también debe ser gestionada correctamente.