GraphQL es una alternativa a API RESTful diseñada para mejorar la comunicación cliente-servidor. 👨💻
Hoy en día trabajamos en distintas plataformas y solemos usar distintos servicios en una misma app, y es usual que necesitemos que las llamadas a las bases de información sean cada vez más veloces. Pero, al mismo tiempo, no sabemos exactamente ¿Con cuál API gestionar esta complejidad eficientemente?
En este blogpost te enseñaremos un poco sobre GraphQL y cómo se supone que nos hace la vida más fácil, qué es eso que hace a esta aPI bastante simple y cómo es que funciona sin herramientas especializadas. Así que hoy aprenderás a llamar a GraphQL a través de HTTP.
GRAPHQL
TALK DE LA SEMANA
¿Cómo funciona GraphQL API?
Los servidores GraphQL son fáciles de construir en comparación con una API RESTful tradicional. Todo lo que necesitas hacer es crear un esquema o directorio de tipos de datos definidos en tu aplicación, luego campos dentro de los tipos, y una función para cada campo que le diga al servidor dónde y cómo obtener los datos.
Por ejemplo, un servicio GraphQL que le dice quién es el usuario conectado, así como el nombre de ese usuario podría tener este aspecto:
type Query {
me: Hero
}
type Hero {
id: ID
name: String
. . .
}
Junto con funciones para cada campo de cada tipo:
function QueryMe(request) {
return request.auth.hero;
}
function HeroName(hero) {
return hero.getName();
}
Una vez que un servicio GraphQL está en ejecución (normalmente en una URL de un servicio web), puede recibir consultas para validarlas y ejecutarlas:
El servicio comprueba primero una consulta para asegurarse de que sólo se refiere a los tipos y campos definidos y, a continuación, ejecuta las funciones proporcionadas para producir un resultado.
Las consultas GraphQL no sólo acceden a las propiedades de un recurso, sino que también siguen sin problemas las referencias entre ellos.
Mientras que las típicas API REST requieren cargar desde varias URL, las API GraphQL obtienen todos los datos que necesita tu aplicación en una sola solicitud.
Las aplicaciones que utilizan GraphQL pueden ser rápidas incluso en conexiones de red móviles lentas.
Obtén en respuesta muchos datos en un solo request
APIs de GraphQL que son públicas:
Ten una lista colaborativa sobre todas las APIs GraphQL públicas que pudes usar para tus proyectos y demos en el siguiente repositorio GitHub, y recuerda que los PR son bienvenidos 😄.
Si estás interesado en GraphQL en general, echa un vistazo a awesome-graphql.
¡Gracias por leer!
📍 Conecta con nosotros en Instagram👇
Comments