"Hassas" veri alanlarını sorgulama
GraphQL şeması, genel bir API'de özel bilgilerin açığa çıkmasını önlemek amacıyla genel ve özel alanlar arasında bir denge kurmalıdır.
Varsayılan olarak, GraphQL şemasındaki tüm alanlar yalnızca genel verilere erişebilir. Örneğin, posts yalnızca "publish" durumuyla yayımlanmış gönderileri getirebilir.
Bunun yanı sıra, şemaya "hassas" veri alanları ve input alanları eklenebilir; bunlar yalnızca yönetici tarafından kullanılmak üzere tasarlanmış olup belirli bir custom endpoint veya persisted query için etkinleştirilerek özel verileri de getirebilir.
Örneğin, posts(filter:) alan argümanı, yayımlanmamış gönderileri herhangi bir kullanıcı için getirmeye olanak tanıyan ek bir status input alanı içerecektir (örn. "pending", "draft" veya "trash" durumundaki gönderiler). Benzer şekilde, şema bu verinin görselleştirilmesi amacıyla Post.status alanını da sunacaktır.
"Hassas" veri öğelerinin listesi
Aşağıdaki öğeler (diğerleriyle birlikte) varsayılan olarak özel veri şeklinde değerlendirilir:
User:
emailrolescapabilitiesmetaKeys
Custom Posts:
statuswpAdminEditURLhasPasswordpasswordrawContentrawTitlerawExcerptmetaKeys
Comments:
statusrawContentmetaKeys
Taxonomies:
metaKeys
Custom Post Mutations:
authorByinput
Menu Items:
rawTitle
Varsayılan yapılandırmayı geçersiz kılma
Yukarıda listelenen öğeler genel hale getirilebilir.
Ayarlar sayfasında, her birine karşılık gelen sekmede, bunların "hassas" mı yoksa "normal" olarak mı değerlendirileceğini yapılandırmak için bir onay kutusu bulunmaktadır:

Şema introspection yoluyla "hassas" veri öğelerini inceleme
Şema introspection işlemi yapılırken isSensitiveDataElement özelliği extensions alanına eklenir. Şemadaki "hassas" veri öğelerini belirlemek için şu query'yi çalıştırın:
query ViewSensitiveDataElements {
__schema {
types {
name
fields {
name
extensions {
isSensitiveDataElement
}
args {
name
extensions {
isSensitiveDataElement
}
}
}
inputFields {
name
extensions {
isSensitiveDataElement
}
}
enumValues {
name
extensions {
isSensitiveDataElement
}
}
}
}
}Ardından sonuçlarda "isSensitiveDataElement": true içeren girdileri arayın.
Endpoint'lere "hassas" veri öğeleri ekleme
Şemaya "hassas" veri öğeleri eklenmesi, öncelik sırasına göre aşağıdaki şekilde yapılandırılabilir:
✅ Schema configuration'da tanımlanan custom endpoint veya persisted query için özel mod

✅ Ayarlarda tanımlanan varsayılan mod
Schema configuration'ın değeri "Default" ise Ayarlarda tanımlanan mod kullanılır:

Ne zaman kullanılır
Statik bir web sitesi oluştururken veya yerel bir WordPress örneğinden veri getirirken (yani genel bir API değil) olduğu gibi, özel bilgilerin açığa çıkarılmasına izin verilen durumlarda kullanın.