Volver al diccionario
Desarrollo Web
GraphQL
Lenguaje de consulta para APIs que permite pedir exactamente los datos necesarios en una sola petición.
Qué es GraphQL
GraphQL es un lenguaje de consulta para APIs desarrollado por Facebook. A diferencia de REST, donde cada endpoint devuelve una estructura fija, GraphQL permite al cliente especificar exactamente qué datos necesita en una única petición.
Ventajas sobre REST
Una sola petición
En REST, obtener datos relacionados requiere múltiples llamadas. En GraphQL, una query obtiene todo.
Sin over-fetching
Solo recibes los campos que pides, no más.
Sin under-fetching
No necesitas hacer llamadas adicionales para datos relacionados.
Schema tipado
El schema define tipos, documentando la API automáticamente.
Ejemplo de query
```graphql
query {
producto(id: "123") {
nombre
precio
imagenes {
url
alt
}
categoria {
nombre
}
}
}
```
Respuesta:
```json
{
"data": {
"producto": {
"nombre": "Zapatillas Pro",
"precio": 99.99,
"imagenes": [
{"url": "/img1.jpg", "alt": "Vista frontal"}
],
"categoria": {"nombre": "Calzado"}
}
}
}
```
Mutations
Para modificar datos:
```graphql
mutation {
crearProducto(input: {nombre: "Nuevo", precio: 50}) {
id
nombre
}
}
```
Implementaciones
- Apollo: Cliente y servidor, muy popular
- Relay: Cliente de Facebook
- Hasura: GraphQL sobre PostgreSQL
- Shopify GraphQL API: API de Shopify
Necesitas ayuda con tu ecommerce?
Somos expertos en desarrollo de tiendas online. Cuéntanos tu proyecto y te asesoramos sin compromiso.
Contactar con Ganton