İçeriğe geçin

GraphQL

GraphQL, uygulamaların tür tanımlı API şemasından alan seçmesini sağlar. Veri erişimi ve yetki denetimi sunucunun sorumluluğunda kalır.

API ve veri sözleşmeleri

API’den gereken alanları seçmek

GraphQL, API’ler için bir sorgu dili sunar; sorguların sunucuda nasıl yürütüleceğini de tanımlar. Tür tanımlı şema, hangi veri ve işlemlerin sunulduğunu belirler. Uygulama buradan ihtiyaç duyduğu alanları seçer. GraphQL belirli bir veritabanını zorunlu kılmaz.

Kurgusal bir yazılım şirketi müşteri portalı planlar. { project(id: "P-42") { name } } seçimi, şirketin şeması bu alanları ve argümanı sunuyorsa bir projenin adını ister. Bu uydurulmuş örnek, mevcut bir servise gönderilen sorgu değildir. Sunucu uygulaması veriyi getirmeli ve istekte bulunan kişinin onu görme yetkisini denetlemelidir. Çağrının şemaya uygun olması tek başına erişim izni vermez; şirket içi internalRate alanı, müşteriler açıkça istese de onlara kapalı kalmalıdır.

Bu yüzden portal için sunulacak alanlarla birlikte erişim kuralları da belirlenmelidir. Alan seçimi, farklı ekranların farklı veri ihtiyaçlarına yardımcı olur; gerçek yanıt süresi ve veritabanındaki iş yükü uygulama üzerinde incelenmelidir.

Kaynaklar