Włączanie edycji niskopoziomowej utrwalonych queries
W GraphQL dyrektywy to funkcje umożliwiające modyfikowanie wyniku zwracanego przez pole. Na przykład dyrektywa @strUpperCase przekształci wartość pola do formatu wielkich liter.
Istnieją 2 rodzaje dyrektyw: te stosowane do schematu, wykonywane zawsze przy każdej query; oraz te stosowane do query przez użytkownika lub aplikację po stronie klienta.
Gato GraphQL implementuje wiele funkcjonalności za pomocą dyrektyw stosowanych do schematu. Odpowiednie dyrektywy są dodawane do query za pośrednictwem interfejsu użytkownika.
Dotyczy to na przykład Cache Control i Access Control. Cache Control działa poprzez zastosowanie dyrektywy @cacheControl do schematu i jest obsługiwane przez wtyczkę za pomocą interfejsu użytkownika Cache Control List:

Kilka przykładów dyrektyw typu schematowego regulujących Access Control:
@disableAccess@validateIsUserLoggedIn@validateIsUserNotLoggedIn@validateDoesLoggedInUserHaveAnyRole.@validateDoesLoggedInUserHaveAnyCapability
Włączanie edycji niskopoziomowej
Moduł „Low-Level Persisted Query Editing" jest domyślnie wyłączony. Po włączeniu wszystkie dyrektywy stosowane do schematu stają się dostępne w edytorze GraphiQL podczas edytowania utrwalonych queries.

W ten sposób można dodawać dyrektywy typu schematowego bezpośrednio w query GraphQL podczas edytowania utrwalonej query, pomijając interfejs użytkownika.
Na przykład definiowanie Cache Control można wykonać bezpośrednio w utrwalonej query, ustawiając dyrektywę @cacheControl z argumentem maxAge na polu:
