Aller au contenu

Pagination

La pagination divise les résultats d’une API en pages consultables séparément. Tri, poursuite de lecture et modifications relèvent du contrat de l’API.

API et contrats de données

La pagination divise une liste de résultats en pages consultables séparément. L’API n’a donc pas à transmettre tous les enregistrements dans une seule réponse. La taille des pages, le tri, la poursuite de la lecture et le signal de fin de liste font partie du contrat de l’interface.

Dans un exemple fictif, une liste triée par identifiant contient au départ A, B, C, D. La première page renvoie A et B. Avant la requête suivante, AA est ajouté entre ces deux entrées. Si une méthode par décalage ignore alors les deux premiers enregistrements actuels, la page suivante recommence à B : un enregistrement apparaît deux fois. Un ordre de tri unique ne fige pas à lui seul les données.

La poursuite de lecture exige des règles précises

Un curseur peut désigner une position de reprise, par exemple après le dernier enregistrement renvoyé. L’API en définit le sens exact. Un curseur ne garantit pas automatiquement un instantané inchangé ; il faut aussi prendre en compte les suppressions et les modifications des valeurs de tri.

Dans les recommandations de Google fondées sur un jeton, la valeur de continuation est renvoyée telle quelle, sans être décodée par le client. Les filtres et les autres paramètres de sélection restent identiques ; ce contrat autorise un changement de taille de page. Le jeton ne remplace aucun contrôle d’accès. Une page courte ou vide ne prouve pas non plus la fin de la liste dans ce cadre : c’est l’absence de jeton de continuation qui l’indique. Développez le client selon le contrat documenté de l’API utilisée.

Sources