Que es GRAPHQL y su diferencia con REST
|Graphql es un lenguaje de consulta desarrollado por Facebook para uso interno y fue liberado como open source. Realiza las mismas funciones que REST. La gran diferencia radica en que como es un lenguaje de consulta, brinda un mejor control sobre los datos que se van a buscar.
De similar forma que las consultas SQL para obtener datos de los sistemas relacionales, se pueden usar las consultas GraphQL para obtener solo la cantidad requerida de datos de las APIs.
GRAPHql consulta de APIs
GraphQL ofrece varias ventajas, una de ellas es que los clientes solicitan solo lo que desean. A los desarrolladores les permite definir sus requisitos y estructuras utilizando tipos de datos y esquemas. Tambien define como interactuar con los datos mediante la creacion, actualizacion,eliminacion y recuperacion.
La mayoria de libors y articulos indica que GraphQL tiene ventajas sobre REST en donde se resalta:
- Consultas jerárquicas: la estructura de las consultas se ve exactamente igual que los datos de respuesta. Un cliente desafía la respuesta que desea y su aspecto, y los datos de respuesta se asemejarán automáticamente a lo que el cliente solicitó.
- Introspectivo: GraphQL permite al cliente consultar sobre los campos, tipos y consultas compatibles. Esto es lo que permite a GraphQL realizar autocompletado de consultas y proporcionar documentación de esquema. Con esta función, el cliente puede saber exactamente qué operaciones son compatibles y los campos requeridos y qué tipo de resultados pueden devolverse. A partir de esa información general, el cliente puede elegir cuidadosamente solo las partes relevantes.
- Tipado Fuerte: la presencia de un sistema de tipos de datos permite la validación sintáctica de consultas y el servidor responde con los mensajes de error apropiados. Esto implica que, si el esquema en el servidor está esperando que un parámetro de consulta sea un entero, un tipo de datos diferente resultará en un error de validación. La mayoría de los editores de consultas GraphQL han sido equipados con la capacidad de detectar estos errores según el esquema.
- Consultas especificadas por el cliente: el cliente decide qué datos desea a través de diferentes campos en las consultas. Esta es una gran ventaja sobre REST, donde la función GET recupera todos los datos de la API.
Arquitectura de Referencia GraphQL | Jose Luis Bugarin | Arquitecto de Integracion from Jose Luis Bugarin on Vimeo.