¿Qué es GraphQL?
GraphQL es un lenguaje de consulta y un entorno de ejecución para APIs desarrollado por Facebook en 2012 y liberado como proyecto de código abierto en 2015. Está diseñado para optimizar la forma en que los clientes obtienen y manipulan datos desde un servidor.
Características principales de GraphQL
- Consultas específicas: El cliente puede solicitar exactamente los datos que necesita, ni más ni menos.
- Una sola llamada: Permite obtener múltiples recursos en una sola petición.
- Tipado fuerte: Usa un sistema de tipos definido en el esquema, lo que facilita la validación y documentación.
- Flexibilidad: Los clientes pueden definir la forma de la respuesta.
- Resolución jerárquica: La estructura de la consulta refleja la estructura de la respuesta.
Ventajas de GraphQL
- Reduce el problema de underfetching (falta de datos) y overfetching (datos de más).
- Permite evolución de APIs sin romper clientes existentes.
- Facilita la integración en aplicaciones móviles y frontend con recursos limitados.
- La documentación está integrada en el propio esquema.
Ejemplo de consulta GraphQL
{ usuario(id: "1") { nombre email publicaciones { titulo fecha } } }
👉 Esta consulta devuelve solo el nombre, email y publicaciones del usuario con ID 1.