Outils du site

Il y a des fanatiques de sang-froid: ce sont les juges qui condamnent la mort ceux qui n'ont d'autre crime que de ne pas penser comme eux; et ces juges-là sont d'autant plus coupables, d'autant plus dignes de l'exécration du genre humain, que, n'étant pas dans un accés de fureur comme les Clément, les Chastel, les Ravaillac, les Damiens, il semble qu'ils pourraient écouter la raison. [Voltaire]

60-database:graphql

Ceci est une ancienne révision du document !


GraphQL

Introduction

GraphQL est un langage de requête pour API.

Contrairement à REST qui préconise de définir une URL par requête, GraphQL propose un seul endpoint pour toutes les requêtes.

Schéma

"GraphQL schema language"

Les types d'opération :

  • query
  • mutation
  • subscription

Query

Mutation

subscription

Directives

Une directive permet de mettre une condition sur un champ de la requête :

  • @include(if: Boolean) Only include this field in the result if the argument is true.
  • @skip(if: Boolean) Skip this field if the argument is true.

proposition de regles

Chaque opération doit être nommée, ne pas utiliser les raccourcis pour écrire des requêtes sans nom. –> faciliter le débuggage

Utiliser systématiquement des $variables dans les opérations (aucune valeur statique dans les requetes). –> Réutilisabilité

Références

Dernière modification : 2020/01/12 09:59