miércoles, 10 de marzo de 2021

GraphQL


Es una nueva forma para consultar datos a trabajes de APIs. Hace unos días me toco trabajar con un API que trabaja con esta nueva forma, al inicio fue un poco complicado, pero después de la implementación del cliente las cosa se hacen mucho más simple.

Esta tecnología le da la oportunidad al usuario de controlar mejor los resultados que espera ya que se pueden hacer queries o consultas que se envían por medio de la petición del http donde se envía justamente lo que queremos y las columnas con los datos que esperamos.

Esto permite que por medio de un solo endpoint o conexión del API podemos realizar muchas consultas diferentes que se adapten a la necesidad del usuario en lugar de los resultados estándares que usualmente estamos esperando. Con una implementación de un API un poco más tradicional se tienen que hacer muchos tipos de peticiones para cada uno de los tipos de datos que se desean.

Otra razón muy interesante para utilizar esta tecnología es que podemos ir cambiando nuestros APIs de una forma más simple sin tener que ir creando versiones. Ya que al final el usuario es quien decide que datos quiere en su resultado y además la consulta que quiere pedir.

Esta tecnología fue desarrollada por Facebook para utilizarlos de manera interna en su entorno. Con el tiempo ha ido ganando terreno y otras empresas lo han estado desarrollando. GraphQL esta disponible para ser desarrollado con muchos diferentes lenguajes de programación.

Además, existe mucha documentación con la que podemos aprender como usarlo y cómo implementarlo para nuestros servicios.

El query y los datos que deseamos enviar se escriben en algo muy similar a JSON y este es el que va adaptando los datos que el resultado va generando, al final vamos a tener un resultado de JSON basado en nuestras consultas.

Vamos a tener una organización de tipos que nos permite ir construyendo la consulta y de esta forma evitar el uso de múltiples endpoints. Lo que hace mucho más simple la construcción de nuestros APIs y la implementación para los usuarios.

Podemos encontrar más información aquí.


Etiquetas: , , ,

0 comentarios:

Publicar un comentario

Suscribirse a Enviar comentarios [Atom]

<< Inicio