Introduction à GraphQL

De Reservoircode
Aller à : navigation, rechercher

Introduction GraphQL est une technologie de requête orientée Web crée par Facebook en 2012 et ouvert au public en 2015. Initialement prévu pour les besoins internes de FB, les moteur et driver ont été développés en Javascript, mais il existe un support dans la plupart des langages actuels. GQL a pour mission de simplifier et d'optimiser les échanges entres clients et serveurs et de proposer une solution à l'under-fetching et l'over-fetching de REST.

Principe de fonctionnement Dans un premier temps, il faut définir un schéma faisant office de protocole d'échange entre le client et le serveur. Ce schéma est auto descriptif, car il déclare les propriétés, types et méthodes, que l'API peut gérer. Le liant entre une requête et le code métier se fait par le biais d'un resolver qui va dès lors que la requête est validée par le moteur GraphQL, transmettre les paramètres aux méthodes métiers. Ces dernières peuvent opérer tout types d'opérations, comme par exemple du calcul, de la récupération de données dans une database ou bien encore appeler une autre API...

Le schéma Comme vu précédemment, le schéma détermine donc un contrat d'échange sur plusieurs. On peut y adjoindre des informations supplémentaires comme par exemple des directives de dépréciations de champs. Une autre facette d'un schéma GraphQL est qu'il est par nature autoportant (auto-descriptif), ainsi il est facile pour un client de composer et valider une requête avant de l'envoyer, ce on limitera les interactions réseaux.

Ressources