GraphQL stelt u in staat om alleen de velden op te halen die u nodig heeft. Dit helpt om netwerkresponses klein en snel te houden. GraphQL garandeert echter niet automatisch kleine responses. Als de resultatenlijst veel elementen bevat, kan dit een enorme response veroorzaken. In deze situatie moet u paginering toepassen.
Onze GraphQL API heeft cursor-gebaseerde paginering geïmplementeerd. Er zijn 4 parameters die worden gebruikt om door de elementen te navigeren.
- after: Pagineer na ondoorzichtige cursor
- before: Pagineer voor ondoorzichtige cursor
- first: Pagineer eerste x elementen
- last: Pagineer laatste x elementen
In de query kunt u de pageInfo en pageData objecten opvragen, die alle benodigde gegevens voor paginering zullen verstrekken. Hieronder staat een voorbeeld om te pagineren op de devices response. Het vraagt het eerste element op na de opgegeven cursor.
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
}
}
}
Vorig artikel - Tutorial: Creating Schedules and Adding Schedule Items Using GraphQL
Volgend artikel - Error Handling