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’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
İlgili terimler
- APIAPI, bir yazılımın başka yazılımlardaki işlevleri veya verileri hangi kurallarla kullanabileceğini tanımlar.
- RESTREST, dağıtık arayüzler için mimari kuralları açıklar. Kaynaklar, durumsuz istekler ve bağlantılar bu yaklaşımın parçalarıdır.
- Server-Sent EventsServer-Sent Events, arka plan işinin ilerlemesi gibi metin bildirimlerini HTTP bağlantısıyla sunucudan istemciye taşır.
- ETagETag, HTTP kaynağının belirli bir gösterim sürümünü tanımlar; koşullu okuma veya değişiklik isteklerinde kullanılır.
- Cross-Origin Resource SharingCORS, tarayıcıda farklı origin’den gelen yanıtların okunmasını düzenler. API’de oturum açmanın veya yetki kontrolünün yerini tutmaz.
- Elektronik veri değişimiEDI, yapılandırılmış iş belgelerini sistemler arasında aktarır. Biçim, iş ortağı profili, veri eşlemesi ve yanıtların birbiriyle uyumlu olması gerekir.
Projeniz ASES ile
Projenizi bize anlatın. İlk değerlendirmemizle size dönelim.