La pagination sur l'API GraphQL se fait par "curseur". Ça veut dire que pour récupérer la prochaine page il faut passer à l'API le "curseur" de la fin de la page précédente.
Voici un exemple. On commence par faire une query pour récupérer les 100 premiers dossiers.
query {
demarche(number: 123) {
dossiers(first: 100) {
pageInfo {
endCursor
hasNextPage
}
nodes {
id
number
champs {
id
label
}
}
}
}
}
Dans le résultat obtenu il faut lire la valeur du "curseur" dans le champ demarche.dossiers.pageInfo.endCursor
. On peut passer alors ce "curseur" comme argument after
dans la prochaine query. Et ainsi de suite jusqu'à ce que le champ demarche.dossiers.pageInfo.hasNextPage
soit égale à false
.
query {
demarche(number: 123) {
dossiers(first: 100, after: "abc") {
pageInfo {
endCursor
hasNextPage
}
nodes {
id
number
champs {
id
label
}
}
}
}
}