Persisted Queries
Persisted QueriesDüşük Seviyeli Persisted Query Düzenleme

Düşük Seviyeli Persisted Query Düzenleme

Included in the “Power Extensions” bundle

Bir persisted query düzenlenirken normalde gizli olan direktifleri (GraphQL sunucusuna bazı işlevler ekleyen) görünür hale getirir.

Açıklama

GraphQL'de direktifler, bir alanın sonucunu değiştirmeyi sağlayan fonksiyonlardır. Örneğin, @strUpperCase direktifi alanın değerini büyük harf biçimine dönüştürür.

İki tür direktif vardır: şemaya uygulanan ve her queries çalıştırıldığında daima yürütülenler; ve kullanıcı ya da uygulama tarafından istemci tarafında queries üzerine uygulananlar.

Gato GraphQL'de, bir queries çözümlenirken kullanılan pek çok işlev, şemaya uygulanan direktifler aracılığıyla yürütülür.

Örneğin, Cache Control; şemaya @cacheControl direktifi uygulanarak çalışır. Bu yapılandırma varsayılan olarak gizlidir ve plugin tarafından kullanıcı arayüzü üzerinden yönetilir:

Bir cache control politikası tanımlamak

Benzer şekilde, aşağıdaki direktifler alanlar için Erişim Kontrolü sağlar (ve benzer direktifler direktifler için de Erişim Kontrolü sağlar):

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

Bu Low-Level Persisted Query Editing eklentisi, şemaya uygulanan tüm direktifleri persisted queries düzenlenirken GraphiQL editöründe kullanılabilir kılar; böylece kullanıcı arayüzünü devre dışı bırakıp şema türü direktifleri doğrudan persisted query içine eklemenize olanak tanır.

Persisted queries editöründe kullanılabilir şema türü direktifler

Örneğin, Cache Control tanımlaması doğrudan persisted query içinde yapılabilir; alan üzerinde maxAge argümanıyla @cacheControl direktifi ayarlanarak gerçekleştirilebilir. Ya da Erişim Kontrolü, ilgili @validate... direktifi doğrudan alana eklenerek tanımlanabilir:

Şema türü direktifler