Pagination Nedir?
İngilizce: Pagination
Pagination, büyük veri setlerini yönetilebilir parçalara bölerek API yanıtlarında performanslı veri sunan tasarım modelidir.
Pagination Nedir?
Pagination veya sayfalama, büyük liste ve veri setlerini tek seferde göndermek yerine küçük parçalara bölerek sunma yöntemidir. Amaç hem kullanıcı arayüzünün hem de API yanıtlarının hızlı, kontrollü ve öngörülebilir kalmasıdır.
Örneğin bir sipariş API’si 2 milyon kaydı tek istekte döndürmemelidir. Bunun yerine limit=50 ve page=3 gibi parametrelerle veya cursor tabanlı bir devam anahtarıyla parça parça veri sağlar.
Pagination Türleri
- Offset pagination:
limitveoffsetkullanır; basittir ama büyük offset’lerde yavaşlayabilir. - Page-based pagination:
pageveper_pageparametreleriyle çalışır; klasik liste ekranları için anlaşılırdır. - Cursor pagination: Son görülen kaydın anahtarını kullanır; sürekli değişen veri setlerinde daha güvenilirdir.
- Keyset pagination: Sıralı ve indeksli alanlar üzerinden ilerler; yüksek hacimli verilerde performanslıdır.
Yanıt içinde toplam kayıt sayısı, sonraki sayfa linki, önceki sayfa linki veya next_cursor gibi alanlar bulunabilir. Ancak toplam sayıyı hesaplamak bazı veritabanlarında pahalı olabileceği için her endpoint’te zorunlu olmamalıdır.
İş Dünyasında Kullanımı
Pagination; sipariş listeleri, müşteri kayıtları, log ekranları, ürün katalogları, rapor sonuçları ve arama sayfalarında kullanılır. Doğru tasarlanmazsa kullanıcı aynı kaydı iki kez görebilir, yeni kayıtlar listeyi kaydırabilir veya API zaman aşımına düşebilir.
REST API tasarımında pagination parametreleri, varsayılan limit, maksimum limit, sıralama alanı ve tutarlı hata formatı baştan belgelenmelidir.