Konfiguracja wtyczki
Konfiguracja wtyczkiWłączanie edycji niskopoziomowej utrwalonych queries

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:

Definiowanie polityki cache control

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.

Dyrektywy typu schematowego

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:

Dyrektywy typu schematowego dostępne w edytorze Persisted queries