De plugin configureren
De plugin configurerenLaagniveau bewerking van persisted queries inschakelen

Laagniveau bewerking van persisted queries inschakelen

In GraphQL zijn directives functies waarmee je het resultaat van een veld kunt aanpassen. Een directive @strUpperCase zal de waarde van het veld bijvoorbeeld omzetten naar hoofdletters.

Er zijn 2 soorten directives: die op het schema worden toegepast en altijd worden uitgevoerd bij elke query; en die op de query worden toegepast door de gebruiker of de applicatie aan de clientkant.

Gato GraphQL implementeert veel functionaliteit via directives die op het schema worden toegepast. De bijbehorende directives worden via een gebruikersinterface aan de query toegevoegd.

Dat is bijvoorbeeld het geval bij Cache Control en Access Control. Cache Control werkt door directive @cacheControl op het schema toe te passen, en wordt door de plugin afgehandeld via de gebruikersinterface Cache Control List:

Een cache control-beleid definiëren

Enkele voorbeelden van schema-type directives die Access Control regelen:

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

Laagniveau bewerking inschakelen

De module "Low-Level Persisted Query Editing" is standaard uitgeschakeld. Wanneer ingeschakeld, worden alle directives die op het schema worden toegepast beschikbaar in de GraphiQL-editor bij het bewerken van persisted queries.

Schema-type directives

Op deze manier kun je de schema-type directives al toevoegen in de GraphQL-query bij het bewerken van de persisted query, en de gebruikersinterface overslaan.

Zo kan het definiëren van Cache Control rechtstreeks in de persisted query worden gedaan, door directive @cacheControl met argument maxAge op het veld in te stellen:

Schema-type directives beschikbaar in de Persisted queries-editor