API Oluşturma
API OluşturmaKalıcı sorgu oluşturma

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-content ve yazının ID'sini geçerek çalıştırma: ?post=1
  • /graphql-query/post-content/es yazının içeriğini İspanyolcaya çevirmek için
  • Diğerleri

Kalıcı sorgu editörü

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 tarayıcıda çalıştırma

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:

Yönetim panelinde Kalıcı Queries
Yönetim panelinde Kalıcı Queries

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:

Kalıcı sorgu oluşturma

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:

Persisted Query Endpoint Overview

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

Kalıcı sorgu Ayarları
Kalıcı sorgu Ayarları

Sorgu editörü

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

Kalıcı sorgunun GraphiQL istemcisi

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:

Explorer ile kalıcı sorgu oluşturma

Ş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):

Şema yapılandırmasını seçme

Ö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.

Özel Kalıcı Sorgu

Ş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 Kalıcı Sorgu

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

Şifreyle Korunan Kalıcı Sorgu: İlk erişim

Ş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:

Kalıcı sorguda değişken kullanma

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ı sorguda değişken değerlerini geçersiz kılma

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):

Kalıcı sorgunun kaynağı


WordPress editöründe yapılandırma

Editörün gövdesindeki girdiler şunlardır:

GirdiAçıklama
BaşlıkKalıcı sorgunun başlığı
GraphiQL istemcisiGraphQL sorgusunu yazmak ve çalıştırmak için editör:
  • Sorguyu metin alanına yazın
  • Sorgu içinde değişkenler tanımlayın ve değerlerini alttaki değişkenler girdisinde belirtin
  • Sorguyu çalıştırmak için "Run" düğmesine tıklayın
  • Sağ taraftaki girdide sonuçları alın
  • Şema bilgilerini incelemek için "Docs" seçeneğine tıklayın
Explorer (yalnızca 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:
  • "Default": Şema yapılandırması, eklentinin Ayarlarında seçilen yapılandırmadır
  • "None": Kalıcı sorgu kısıtsız olacaktır
  • "Inherit from parent": Üst kalıcı sorguyla aynı şema yapılandırmasını kullanın.
    Bu seçenek, API Hierarchy modülü etkinleştirildiğinde ve kalıcı sorgunun bir üst sorgusu olduğunda (Belge ayarlarında seçilen) kullanılabilir
SeçeneklerKalıcı sorgunun davranışını özelleştirin:
  • Enabled?: Kalıcı sorgunun etkin olup olmadığı.
    Bir API hiyerarşisinde üst sorgu olan kalıcı sorguyu devre dışı bırakmak için kullanışlıdır
  • Do URL params override variables?: URL parametrelerinin GraphiQL istemcisinde tanımlanan değişken değerlerini geçersiz kılmasına izin verin
  • Inherit query from ancestor(s)?: Üst kalıcı sorguyla aynı sorguyu kullanın.
    Bu seçenek, API Hierarchy modülü etkinleştirildiğinde ve kalıcı sorgunun bir üst sorgusu olduğunda (Belge ayarlarında seçilen) kullanılabilir

Belge ayarlarındaki girdiler şunlardır:

GirdiAçıklama
PermalinkKalıcı sorgunun kullanılabilir olacağı endpoint
KategorilerKalıcı sorguyu kategorilere ayırabilir.
Örn.: mobile, app, vb.
ExcerptKalıcı sorgu için bir açıklama sağlayın.
Bu girdi, Excerpt as Description modülü etkinleştirildiğinde kullanılabilir
Sayfa özellikleriBir üst kalıcı sorgu seçin.
Bu girdi, API Hierarchy modülü etkinleştirildiğinde kullanılabilir