Aller au contenu principal

La pagination des résultats

Quand les données sont volumineuses, l'API peut paginer les résultats. Certains endpoints forcent la pagination (ex. les produits) : sans la demander explicitement, vous ne recevez qu'une partie des résultats — d'où l'importance de la gérer.

Activer la pagination : header ALLOW_PAGINATION

Ajoutez le header ALLOW_PAGINATION: true à votre GET.

  • Avec le header, la réponse est structurée : Data (la liste), ResultsCount, TotalCount, Skipped, Top.
  • Sans le header, la réponse est une simple liste JSON — potentiellement tronquée si l'endpoint force la pagination.
  • $top : nombre maximal d'éléments retournés (la taille de page).
  • $skip : nombre d'éléments à sauter (le décalage).
GET /api/Entity/Product?$top=10&$skip=20
ALLOW_PAGINATION: true

retourne les éléments 21 à 30.

Lire l'état de la pagination : headers de réponse

La réponse porte toujours ces headers :

  • X-Pagination-Top — taille de page appliquée
  • X-Pagination-Skip — décalage appliqué
  • X-Pagination-ResultCount — nombre d'éléments retournés
  • X-Pagination-TotalCount — total disponible

Astuce : si X-Pagination-Top est vide/absent, aucune pagination n'a été appliquée.

Boucle type pour tout extraire

  1. $top=N, $skip=0, header ALLOW_PAGINATION: true.
  2. Lire X-Pagination-TotalCount (ou TotalCount du corps structuré).
  3. Incrémenter $skip de N tant que skip < TotalCount.