GraphQL vous permet de récupérer uniquement les champs dont vous avez besoin. Cela aide à maintenir des réponses réseau petites et rapides. Cependant, GraphQL ne garantit pas automatiquement de petites réponses. Si la liste de résultats contient beaucoup d'éléments, cela pourrait entraîner une réponse énorme. Vous devrez effectuer une pagination dans cette situation.
Notre API GraphQL a implémenté une pagination basée sur des curseurs. Il y a 4 paramètres utilisés pour parcourir les éléments.
- after : Paginer après le curseur opaque
- before : Paginer avant le curseur opaque
- first : Paginer les x premiers éléments
- last : Paginer les x derniers éléments
Dans la requête, vous pouvez demander les objets pageInfo et pageData, qui fourniront toutes les données nécessaires pour la pagination. Voici un exemple pour paginer sur la réponse des appareils. Il demande le premier élément après le curseur spécifié.
query{
devices (query : {},first:1,after:"YXJyYXljb25uZWN0aW9uOjQ=") {
page{
edges{
cursor,
node{
_id,
deviceName,
UUID,
pairingCode,
currentType,
currentAssetId,
currentPlaylistId,
localAppVersion,
},
},
pageInfo{
hasNextPage,
startCursor,
endCursor
}
},
pageData{
limit,
offset
}
}
}
Article précédent - Tutoriel : Créer des horaires et ajouter des éléments d'horaire avec GraphQL
Article suivant - Gestion des erreurs