Table of Contents

Pagination

La plupart des API de lecture sont susceptibles de renvoyer un grand nombre de résultats.

Dans une optique de performance et de limitation de charge, ces API imposent la pagination.

Données en entrée

Chaque API nécessitant une pagination exigera qu'on lui fournisse un numéro de page et un nombre d'éléments par page, dans le corps de la requête.

Ces données sont passées dans un objet Page qui contient les propriétés suivantes :

  • PageIndex: le numéro de la page
  • PageSize: Le nombre d'éléments par page

Le numéro de page commence à 1.
Le nombre d'éléments par page doit être compris entre 1 et 5000.

Voici un exemple de corps de requête JSON avec les données de pagination :

{
  "Page": {
	"PageIndex": 1,
	"PageSize": 100
  },
  "Filters": []
}

Données en sortie

Les réponses des API paginées contiennent un objet Page qui fournit des informations sur la pagination.

Cet objet contient les propriétés suivantes :

  • PreviousPage: le numéro de la page précédente, ou null s'il n'y en a pas ;
  • NextPage: le numéro de la page suivante, ou null s'il n'y en a pas ;
  • PageCount: le nombre total de pages.

Voici un exemple de corps de réponse JSON avec les données de pagination lorsque la première page est demandée :

{
  "Page": {
	"PreviousPage": null,
	"NextPage": 2,
	"PageCount": 10
  },
  "Items": [
    ...
  ]
}

Voici un exemple de corps de réponse JSON avec les données de pagination lorsque la dernière page est demandée :

{
  "Page": {
	"PreviousPage": 9,
	"NextPage": null,
	"PageCount": 10
  },
  "Items": [
    ...
  ]
}

Voici un exemple de corps de réponse JSON lorsqu'aucun élément ne correspond aux critères de recherche :

{
  "Page": {
	"PreviousPage": null,
	"NextPage": null,
	"PageCount": 0
  },
  "Items": []
}