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.

A√Īadir un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *