Sayfalama
Sayfalama, bir API sonuç listesini ayrı ayrı alınabilen bölümlere ayırır. Sıralama, devam bilgisi ve okuma sırasındaki değişiklikler API sözleşmesinde tanımlanır.
Sayfalama, bir sonuç listesini ayrı ayrı alınabilen sayfalara böler. Böylece API bütün kayıtları tek yanıtta göndermek zorunda kalmaz. Sayfa boyutu, sıralama, sonraki sayfaya geçiş ve listenin bittiğinin nasıl anlaşılacağı arayüz sözleşmesinin parçalarıdır.
Kurgusal örnekte kimliğe göre sıralanan liste başlangıçta A, B, C, D kayıtlarından oluşur. İlk sayfada A ve B gelir. Sonraki istekten önce bu iki kaydın arasına AA eklenir. Offset yöntemi güncel listedeki ilk iki kaydı atlarsa sonraki sayfa yeniden B ile başlar: Bir kayıt iki kez görünür. Tekil bir sıralama, veri kümesini kendiliğinden sabitlemez.
Devam bilgisinin kuralları açık olmalıdır
Cursor, örneğin son gönderilen kaydın sonrasını gösteren bir devam konumunu temsil edebilir. Kesin anlamını API belirler. Cursor kullanılması, veri kümesinin değişmeyen bir anlık görüntüsünü otomatik olarak garanti etmez; silinen kayıtlar ve değişen sıralama değerleri de düşünülmelidir.
Google’ın tarif ettiği token yönteminde devam değeri çözümlenmeden, olduğu gibi geri gönderilir. Filtreler ve diğer seçim parametreleri aynı kalır; bu sözleşmede sayfa boyutu değiştirilebilir. Token, erişim denetiminin yerine geçmez. Daha kısa veya boş bir sayfa da burada listenin bittiğini kanıtlamaz: Devam token’ının bulunmaması belirleyicidir. İstemciyi kullandığınız API’nin belgelenmiş sözleşmesine göre geliştirin.
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.
- OpenAPIOpenAPI, HTTP arayüzlerini yollar, parametreler ve yanıtlarla makinenin okuyabileceği biçimde tanımlar. Tanım ile çalışan uygulama örtüşmelidir.
- 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.
Projeniz ASES ile
Projenizi bize anlatın. İlk değerlendirmemizle size dönelim.