Pagination API: Mengelola Dataset yang Tidak Muat Sekaligus
API yang mengembalikan seluruh tabel dalam satu respons akan lambat, memberatkan jaringan, dan akhirnya gagal. Pagination bukan opsional untuk dataset besar.
Offset vs cursor
Offset (skip 100, ambil 50) sederhana tapi lambat dan tidak stabil saat data berubah. Cursor (lanjut dari ID terakhir) lebih cepat dan tahan terhadap penyisipan baru di tengah.
Konsistensi saat berhalaman
Saat klien berhalaman, data bisa berubah: item muncul ganda atau hilang. Untuk hasil stabil, gunakan cursor berbasis urutan monoton, atau terima bahwa halaman adalah snapshot longgar.
Metadata penting
Sertakan total, tautan next/prev, dan has-more. Klien butuh tahu kapan berhenti. Tanpa metadata, klien terus meminta halaman kosong atau kehilangan ekor dataset.