Özel endpoint oluşturma
Tek endpoint'e ek olarak, Gato GraphQL aynı zamanda özel endpoint'leri de destekler; özelleştirilmiş bir şema (mevcut türlerin yalnızca bir alt kümesini içeren) ve kullanıcı doğrulama kuralları için veri almak ve göndermek amacıyla, farklı kullanıcıların ve uygulamaların ihtiyaçlarını karşılar.
İhtiyaç duyduğumuz kadar çok özel endpoint oluşturabiliriz.
Örneğin, şunlar için özel endpoint oluşturabiliriz:
- Belirli bir istemci veya kullanıcı için,
/graphql/my-client/altında - Özelliklere daha fazla erişimi olan bir kullanıcı grubu için (PRO kullanıcılar gibi),
/graphql/pro-users/altında - Mobil uygulamamıza veri sağlamak için,
/graphql/mobile-app/altında - Bir üçüncü taraf API'ye erişim vermek için,
/graphql/external-api/altında - Diğerleri

Özel endpoint'i bir uygulamada çalıştırma
Lütfen bir istemciden GraphQL sunucusuna bağlanma kılavuzundaki talimatları izleyin.
Tüm özel endpoint'lere erişim
Eklentinin menüsünde "Custom Endpoints" seçeneğine tıklandığında, oluşturulan tüm özel endpoint'lerin listesi görüntülenir:

Yeni bir özel endpoint oluşturma
WordPress editörünü açmak için "Add New GraphQL endpoint" düğmesine tıklayın:

Bir başlık verin, kalıcı bağlantının istenen olduğundan emin olun, şema yapılandırmasını seçin ve seçenekleri ayarlayın. Hazır olduğunuzda Publish düğmesine tıklayın; özel endpoint, yapılandırılmış kalıcı bağlantı URL olarak kullanılarak oluşturulur.
Endpoint'e (ve kaynağa ve istemcilere) ait bağlantılar, "Custom Endpoint Overview" kenar çubuğu panelinde gösterilir:

Şema yapılandırması
Şemanın hangi öğeleri içerdiğini ve kullanıcıların ona hangi erişime sahip olacağını tanımlamak, şema yapılandırmasında belirlenir.
Bu nedenle bir şema yapılandırması oluşturmalı ve ardından açılır menüden seçmeliyiz (ya da hiçbirini kullanmayabilir ya da varsayılanı kullanabiliriz):

Gizli endpoint'ler
Özel Endpoint'in durumu private olarak ayarlandığında, endpoint'e yalnızca yönetici kullanıcı erişebilir. Bu, verilerimizin erişim hakkı olmayan kullanıcılarla istemeden paylaşılmasını önler.
Örneğin, metriklerimizle raporlar oluşturmak amacıyla veri almak gibi uygulamayı yönetmeye yardımcı olan gizli Özel Endpoint'ler oluşturabiliriz.

Şifreyle korunan endpoint'ler
Belirli bir istemci için Özel Endpoint oluşturduğumuzda, yalnızca o istemcinin endpoint'e erişeceğini garanti eden ek bir güvenlik katmanı sağlamak amacıyla bir şifre atayabiliriz.

Şifreyle korunan bir endpoint'e ilk kez erişildiğinde (endpoint'e doğrudan, ya da GraphiQL veya Interactive Schema istemcileri üzerinden erişilsin), şifre isteyen bir ekranla karşılaşılır:

Şifre sağlanıp doğrulandıktan sonra kullanıcı, istenen endpoint veya istemciye erişebilir:

Endpoint hiyerarşisi oluşturma
Lütfen bir API hiyerarşisi oluşturma talimatlarını okuyun.
Özel endpoint'i devre dışı bırakma
Seçeneklerde, özel endpoint'i devre dışı bırakmak için "Enabled" değerini false olarak ayarlayın.
Bu özellik, özel endpoint'in bir API hiyerarşisinin parçası haline getirilmesi durumunda, alt özel endpoint'lere ortak bir davranış sağlamak için kullanışlı olabilir; ancak kendisinin çalıştırılmasına gerek kalmaz.
Özel endpoint'i açıklama
Özel endpoint'e bir açıklama vermek için Belge ayarları panelindeki "Excerpt" alanını kullanın.
Daha fazla bilgi için API'ye açıklama ekleme kılavuzuna bakın.
Endpoint istemcileri
Her özel endpoint'in kendi istemci seti vardır.
GraphiQL istemcisi
GraphiQL istemcisine erişmek için endpoint'e ?view=graphiql ekleyin:

GraphiQL istemcisi, Özel Endpoint düzenlenirken de "Custom Endpoint Overview" kenar çubuğu panelinden açılabilir:

Benzer şekilde, istemci; öğenin üzerine gelindiğinde "GraphiQL" bağlantısından Özel Endpoint'ler liste sayfasından da açılabilir:

GraphiQL istemcisini devre dışı bırakmak için Özel Endpoint editöründe "Expose GraphiQL client?" seçeneğini false olarak ayarlayın.
Interactive Schema (Voyager) istemcisi
Endpoint'in şemasını görselleştirmek ve etkileşim kurmak için Interactive Schema istemcisine erişmek amacıyla endpoint'e ?view=schema ekleyin:

Interactive Schema istemcisi, Özel Endpoint düzenlenirken de "Custom Endpoint Overview" kenar çubuğu panelinden açılabilir:

Benzer şekilde, istemci; öğenin üzerine gelindiğinde "Interactive Schema" bağlantısından Özel Endpoint'ler liste sayfasından da açılabilir:

Interactive Schema istemcisini devre dışı bırakmak için Özel Endpoint editöründe "Expose the Interactive Schema client?" seçeneğini false olarak ayarlayın.
Endpoint'i yayınlamadan önce test etme
draft veya pending durumundaki özel endpoint yalnızca şema editörü kullanıcılarına açıktır. Bu onlara şunları yapma imkânı tanır:
- Endpoint'e karşı GraphQL queries çalıştırma
- Endpoint'in GraphiQL ve Voyager istemcilerine erişme
Böylece bir özel endpoint oluşturabilir, ona bir Şema Yapılandırması atayabilir, draft veya pending olarak yayınlayabilir ve test edebiliriz (örn: Erişim Kontrolü kurallarının uygun olduğunu doğrulamak).
Onaylandıktan sonra, yalnızca o zaman durumunu publish olarak ayarlayarak özel endpoint'i herkese açık hale getiririz.
Kaynağı görüntüleme
Endpoint'e ?view=source eklenerek, endpoint'in yapılandırması görüntülenir (kullanıcının giriş yapmış olması ve kullanıcı rolünün buna erişim iznine sahip olması koşuluyla):

WordPress editöründe yapılandırma
Editörün gövdesindeki girdiler şunlardır:
| Girdi | Açıklama |
|---|---|
| Başlık | Özel endpoint'in başlığı |
| Şema yapılandırması | Açılır menüden, özel endpoint'e uygulanacak şema yapılandırmasını veya şu seçeneklerden birini seçin:
|
| Seçenekler | Özel endpoint'in davranışını özelleştirin:
|
Belge ayarlarındaki girdiler şunlardır:
| Girdi | Açıklama |
|---|---|
| Permalink | Özel endpoint'in kullanılabilir olacağı endpoint |
| Kategoriler | Özel endpoint'i kategorize edebilir. Örn: mobile, app, vb. |
| Excerpt | Özel endpoint için bir açıklama sağlayın. Bu girdi, "Excerpt as Description" modülü etkinleştirildiğinde kullanılabilir |
| Sayfa özellikleri | Bir üst özel endpoint seçin. Bu girdi, "API Hierarchy" modülü etkinleştirildiğinde kullanılabilir |