Letzte Aktualisierung: 
14/7/2025

Aufteilung in Seiten (Paginierung)

Das Konzept basiert auf Verbindungen und Kanten, die in GraphQL ein Quasi-Standard für die Paginierung sind. Bei Abfragen, die eine Paginierung ermöglichen, können die Argumente first und after sowie eine angeforderte pageInfo festgelegt werden. Das erste Argument definiert, wie viele Elemente mit der Anfrage zurückgegeben werden sollen. Aus Leistungsgründen darf dieser Wert nicht höher als 50 sein. Die pageInfo enthält einen endCursor, der den Cursor des letzten Elements auf der Seite definiert. Dieser endCursor kann dann für das after-Argument der nächsten Anfrage verwendet werden, um die nachfolgenden Elemente nach dem endCursor zu erhalten. Die Parameter zur Steuerung der Seitennummerierung sind im Schema dokumentiert.

Für die erste Seite muss kein after-Argument festgelegt werden. Die folgende Anfrage gibt die ersten 50 Einträge zusammen mit einer pageInfo zurück, die den endCursor der Seite enthält.

{
    allEntries(first: 50) {
        totalCount
        pageInfo {
            hasNextPage
            endCursor
        }
        edges {
            node {
                id
                name
            }
        }
    }
}

Um die nächsten 50 Einträge anzufordern, nehmen wir den endCursor der vorherigen Antwort und setzen ihn wie folgt für das After-Argument der nächsten Anforderung:

{
    allEntries(first: 50, after: "NTA") {
        totalCount
        pageInfo {
            hasNextPage
            endCursor
        }
        edges {
            node {
                id
                name
            }
        }
    }
}