Qué es GraphQL
Lenguaje de consulta para APIs
GraphQL es un lenguaje de consulta y entorno de ejecución para APIs que permite a los clientes solicitar solo los datos que necesitan.
Conceptos principales
- Esquema — descripción de tipos de datos y operaciones
- Queries — lectura de datos
- Mutations — modificación de datos
- Subscriptions — actualizaciones en tiempo real
Ventajas sobre REST
- Flexibilidad — el cliente define la estructura de respuesta
- Un solo endpoint — en lugar de múltiples endpoints REST
- Sin over-fetching — recibe solo los campos solicitados
- Tipado — esquema estricto con validación
Ejemplo de consulta
query {
user(id: "1") {
name
email
posts {
title
}
}
}
Cuándo usar
Ideal para aplicaciones con diferentes clientes (web, móvil), relaciones de datos complejas y requisitos de rendimiento.