Kalıcı sorgu oluşturma
Kalıcı bir sorgu, GraphQL ve REST API'lerinin bir kombinasyonudur: site üzerinde yayımlanan ve REST endpoint'ine benzer şekilde kendi URL'si altında erişilen normal bir GraphQL sorgusudur.
Örneğin, aşağıdaki kalıcı queries aracılığıyla bir web sitesi için veri sunabiliriz:
/graphql-query/homepage-posts/graphql-query/user-widget/graphql-query/post-contentve yazının ID'sini geçerek çalıştırma:?post=1/graphql-query/post-content/esyazının içeriğini İspanyolcaya çevirmek için- Diğerleri

Kalıcı sorguyu çalıştırma
Kalıcı sorgu yayımlandıktan sonra, kalıcı bağlantısı aracılığıyla çalıştırabiliriz.
Kalıcı sorgu, GET ile erişildiğinden doğrudan tarayıcıda çalıştırılabilir; istenen verileri JSON formatında elde ederiz:

Kalıcı sorguyu bir uygulamada çalıştırma
Lütfen GraphQL sunucusuna bir istemciden bağlanma kılavuzundaki talimatları izleyin.
Tüm kalıcı queries'e erişme
Eklenti menüsündeki "Persisted Queries" seçeneğine tıklandığında, oluşturulan tüm kalıcı queries'in listesi görüntülenir:

Yeni bir kalıcı sorgu oluşturma
WordPress editörünü açmak için "Add New GraphQL persisted query" düğmesine tıklayın:

Bir başlık verin ve kalıcı bağlantının beklenen olduğundan emin olun, GraphQL sorgusunu girin, şema yapılandırmasını seçin ve seçenekleri ayarlayın. Hazır olduğunuzda, Yayımla düğmesine tıklayın; kalıcı bağlantı, kalıcı sorgunun endpoint'i haline gelir.
Endpoint'e (ve kaynağa) olan bağlantı, "Persisted Query Endpoint Overview" kenar çubuğu panelinde gösterilir:

Varsayılan olarak, kalıcı sorgunun endpoint'i /graphql-query/ yoluna sahiptir ve bu değer Ayarlar aracılığıyla yapılandırılabilir:

Sorgu editörü
Editördeki GraphiQL istemcisi, GraphQL kalıcı sorgusunun girileceği yerdir:

Editör, sol kenar çubuğu panelindeki alanlara tıklayarak sorguyu oluşturmaya olanak tanıyan Explorer eklentisiyle birlikte gelir. "Run" düğmesine tıklamak, yanıtı önizlemek için sorguyu çalıştırır:

Şema yapılandırması
Kalıcı sorguda istenen alanlara kimlerin erişebileceğinin tanımlanması, şema yapılandırmasında yapılır.
Bu nedenle, bir şema yapılandırması oluşturmalı ve ardından açılır menüden seçmeliyiz (ya da hiçbirini seçmeyebilir ya da varsayılanı kullanabiliriz):

Özel kalıcı queries
Kalıcı Sorgunun durumu özel olarak ayarlandığında, endpoint'e yalnızca yönetici kullanıcı erişebilir. Bu, verilerimizin verilere erişimi olmaması gereken kullanıcılarla kasıtsız olarak paylaşılmasını önler.
Örneğin, metriklerimizle raporlar oluşturmak için veri almak gibi uygulamayı yönetmeye yardımcı olan özel Kalıcı Queries oluşturabiliriz.

Şifreyle korunan kalıcı queries
Belirli bir istemci için Kalıcı Sorgu oluşturursak, endpoint'e yalnızca o istemcinin erişeceğini sağlamak amacıyla ek bir güvenlik katmanı sunmak için bir şifre atayabiliriz.

Şifreyle korunan bir kalıcı sorguya ilk erişildiğinde, şifreyi isteyen bir ekranla karşılaşırız:

Şifre sağlandıktan ve doğrulandıktan sonra kullanıcı, istenen endpoint'e erişebilir.
Kalıcı sorguyu URL parametreleri aracılığıyla dinamik hale getirme
Her değişken için değer, kalıcı sorgu çalıştırılırken bir URL parametresi (değişken adıyla) aracılığıyla ayarlanabilir. "URL parametreleri değişkenleri geçersiz kılsın mı?" seçeneği etkinleştirilmişse, URL parametresi öncelik kazanır. Aksi takdirde, değişkenler sözlüğünde tanımlanan değer öncelikli olur (varsa).
Örneğin, bu sorguda sonuç sayısı, varsayılan değeri 3 olan $limit değişkeni aracılığıyla kontrol edilir:

Bu kalıcı sorgu çalıştırılırken ?limit=5 geçilmesi, sorguyu 5 sonuç döndürecek şekilde çalıştırır:

Kalıcı sorgu hiyerarşisi oluşturma
Lütfen API hiyerarşisi oluşturma talimatlarını okuyun.
Kalıcı sorguyu devre dışı bırakma
Seçeneklerde, kalıcı sorguyu devre dışı bırakmak için "Enabled" değerini false olarak ayarlayın.
Bu özellik, kalıcı sorgunun bir API hiyerarşisinin parçası olduğu ve alt kalıcı queries'e ortak bir davranış sağlaması gerektiği ancak kendisinin çalıştırılmasına gerek olmadığı durumlarda kullanışlı olabilir.
Kalıcı sorguyu açıklama
Kalıcı sorguya bir açıklama vermek için Belge ayarları panelindeki "Excerpt" alanını kullanın.
Daha fazla bilgiyi API'ye açıklama ekleme kılavuzunda bulabilirsiniz.
Çevrimiçi yayımlamadan önce kalıcı sorguyu test etme
Taslak veya beklemede durumundaki bir kalıcı sorgu yalnızca şema editörü kullanıcıları tarafından kullanılabilir.
Ardından, bir kalıcı sorgu oluşturabilir, bir Şema Yapılandırması atayabilir, taslak veya beklemede olarak yayımlayabilir ve test edebiliriz (örn.: Erişim Kontrolü kurallarının uygun olup olmadığını kontrol etmek).
Onaylandıktan sonra, yalnızca o zaman durumunu yayımla olarak ayarlarız; böylece kalıcı sorgu herkese açık hale gelir.
Kaynağı görüntüleme
Endpoint'e ?view=source eklenerek, kalıcı sorgunun yapılandırması gösterilir (kullanıcı oturum açmış olduğu ve kullanıcı rolünün buna erişimi olduğu sürece):

WordPress editöründe yapılandırma
Editörün gövdesindeki girdiler şunlardır:
| Girdi | Açıklama |
|---|---|
| Başlık | Kalıcı sorgunun başlığı |
| GraphiQL istemcisi | GraphQL sorgusunu yazmak ve çalıştırmak için editör:
GraphiQL Explorer modülü etkinleştirilmişse gösterilir), alanlara tıklamaya olanak tanır ve bunlar otomatik olarak sorguya eklenir |
| Şema yapılandırması | Açılır menüden, kalıcı sorguya uygulanan şema yapılandırmasını veya şu seçeneklerden birini seçin:
|
| Seçenekler | Kalıcı sorgunun davranışını özelleştirin:
|
Belge ayarlarındaki girdiler şunlardır:
| Girdi | Açıklama |
|---|---|
| Permalink | Kalıcı sorgunun kullanılabilir olacağı endpoint |
| Kategoriler | Kalıcı sorguyu kategorilere ayırabilir. Örn.: mobile, app, vb. |
| Excerpt | Kalıcı sorgu için bir açıklama sağlayın. Bu girdi, Excerpt as Description modülü etkinleştirildiğinde kullanılabilir |
| Sayfa özellikleri | Bir üst kalıcı sorgu seçin. Bu girdi, API Hierarchy modülü etkinleştirildiğinde kullanılabilir |