GraphQL ermöglicht es Ihnen, nur die Felder abzurufen, die Sie benötigen. Dies hilft dabei, Netzwerkantworten klein und schnell zu halten. GraphQL garantiert jedoch nicht automatisch kleine Antworten. Wenn die Ergebnisliste viele Elemente enthält, könnte dies zu einer enormen Antwort führen. In dieser Situation müssen Sie eine Paginierung durchführen.
Unsere GraphQL-API implementiert eine cursor-basierte Paginierung. Es gibt 4 Parameter, die verwendet werden, um durch die Elemente zu navigieren.
- after: Paginierung nach einem opaken Cursor
- before: Paginierung vor einem opaken Cursor
- first: Paginierung der ersten x Elemente
- last: Paginierung der letzten x Elemente
In der Abfrage können Sie die Objekte pageInfo und pageData anfordern, die alle für die Paginierung benötigten Daten bereitstellen. Unten finden Sie ein Beispiel für die Paginierung bei der Geräte-Antwort. Es wird das erste Element nach dem angegebenen Cursor angefordert.
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
}
}
}
Vorheriger Artikel - Tutorial: Creating Schedules and Adding Schedule Items Using GraphQL
Nächster Artikel - Error Handling