Paginierung
Die Altium 365 API verwendet cursorbasierte Paginierung gemäß der Relay Connection-Spezifikation. Abfragen von Sammlungen geben einen connection-Typ zurück, der eine Liste von Knoten, Paginierungsmetadaten und Cursor für die Vorwärts- oder Rückwärtsnavigation durch die Ergebnisse enthält.
Struktur der Connection
Eine paginierte Antwort hat die folgende Struktur:
query {
someCollection {
nodes { # the items on this page
...
}
pageInfo { # pagination metadata
hasNextPage
hasPreviousPage
startCursor
endCursor
}
totalCount # total number of items (all pages)
}
}
Abrufen von Seiten
Verwenden Sie die Argumente first und after, um in einer Sammlung vorwärts zu blättern:
query {
desProjects(first: 20, after: "{cursor}") {
nodes {
id
name
}
pageInfo {
hasNextPage
endCursor
}
}
}
-
first– Anzahl der zurückzugebenden Elemente (Seitengröße) -
after– Cursor, der das Ende der vorherigen Seite markiert; bei der ersten Anfrage weglassen
Der endCursor aus pageInfo wird zum Wert after für die nächste Seite. Fahren Sie fort, bis hasNextPage den Wert false hat.
Um rückwärts zu blättern, verwenden Sie last und before zusammen mit startCursor.
Erste Anfrage
Lassen Sie für die erste Seite das Argument after weg:
query {
desProjects(first: 20) {
nodes {
id
name
updatedAt
}
pageInfo {
hasNextPage
endCursor
}
totalCount
}
}
Verwenden Sie totalCount, um zu bestimmen, wie viele Seiten vor Beginn der Paginierung zu erwarten sind.
Zählen ohne Abrufen von Elementen
Wenn Sie nur die Gesamtanzahl benötigen, können Sie nodes vollständig weglassen:
query {
desProjects {
totalCount
}
}