Configurer le plugin
Configurer le pluginActiver l'édition bas niveau des persisted queries

Activer l'édition bas niveau des persisted queries

En GraphQL, les directives sont des fonctions qui permettent de modifier le résultat d'un champ. Par exemple, une directive @strUpperCase transformera la valeur du champ en majuscules.

Il existe 2 types de directives : celles qui s'appliquent au schéma et s'exécutent toujours, à chaque requête ; et celles qui s'appliquent à la requête, par l'utilisateur ou l'application côté client.

Gato GraphQL implémente de nombreuses fonctionnalités via des directives à appliquer au schéma. Les directives correspondantes sont ajoutées à la requête via une interface utilisateur.

C'est le cas, par exemple, du Cache Control et de l'Access Control. Le Cache Control fonctionne en appliquant la directive @cacheControl au schéma, et est géré par le plugin via l'interface utilisateur de Cache Control List :

Définition d'une politique de cache control

Quelques exemples de directives de type schéma qui régulent l'Access Control :

  • @disableAccess
  • @validateIsUserLoggedIn
  • @validateIsUserNotLoggedIn
  • @validateDoesLoggedInUserHaveAnyRole.
  • @validateDoesLoggedInUserHaveAnyCapability

Activer l'édition bas niveau

Le module "Low-Level Persisted Query Editing" est désactivé par défaut. Lorsqu'il est activé, toutes les directives à appliquer au schéma deviennent disponibles dans l'éditeur GraphiQL lors de la modification des persisted queries.

Directives de type schéma

De cette façon, nous pouvons ajouter les directives de type schéma directement dans la requête GraphQL lors de la modification de la persisted query, et contourner l'interface utilisateur.

Par exemple, définir le Cache Control peut être fait directement dans la persisted query, en définissant la directive @cacheControl avec l'argument maxAge sur le champ :

Directives de type schéma disponibles dans l'éditeur de Persisted queries