🟡 Paging
Warum Paging?
Section titled “Warum Paging?”Viele Endpoints enthalten sehr viele Inhalte. Damit Antworten schnell bleiben, werden Ergebnisse seitenweise ausgeliefert (Paging).
In jeder Response findest du:
- @graph – Inhalte der aktuellen Seite
- meta – Zusatzinfos (z. B. Gesamtanzahl)
- links – Navigationslinks (self, next, prev)
Grundbegriffe
Section titled “Grundbegriffe”page[size]→ Anzahl der Elemente pro Seitepage[number]→ Seitennummer (beginnend bei 1)
Typische Werte:
25oder50→ Frontends100→ Exporte oder Batch-Verarbeitung (abhängig von Performance)
Variante A: Über page[number] iterieren
Section titled “Variante A: Über page[number] iterieren”Seite 1
Section titled “Seite 1”curl -s \ -H "Authorization: Bearer {TOKEN}" \ "{BASE_URL}/api/v4/endpoints/{ENDPOINT}?page[size]=25&page[number]=1"Seite 2
Section titled “Seite 2”curl -s \ -H "Authorization: Bearer {TOKEN}" \ "{BASE_URL}/api/v4/endpoints/{ENDPOINT}?page[size]=25&page[number]=2"Vorteile
- sehr einfach
- gut nachvollziehbar
Nachteil
- du musst selbst erkennen, wann das Ende erreicht ist
Variante B: Dem links.next-Link folgen (empfohlen)
Section titled “Variante B: Dem links.next-Link folgen (empfohlen)”Wenn es eine nächste Seite gibt, enthält die Response links.next.
curl -s \ -H "Authorization: Bearer {TOKEN}" \ "{NEXT_URL_AUS_LINKS_NEXT}"💡 Wenn links.next fehlt oder leer ist, bist du am Ende angekommen.
Paging mit Filtern kombinieren
Section titled “Paging mit Filtern kombinieren”GET + Filter
Section titled “GET + Filter”curl -s \ -H "Authorization: Bearer {TOKEN}" \ "{BASE_URL}/api/v4/endpoints/{ENDPOINT}?filter[q]=museum&page[size]=25&page[number]=1"POST + Filter
Section titled “POST + Filter”curl -s \ -H "Authorization: Bearer {TOKEN}" \ -H "Content-Type: application/json" \ -X POST \ "{BASE_URL}/api/v4/endpoints/{ENDPOINT}" \ -d '{ "filter": { "q": "museum" }, "page": { "size": 25, "number": 1 } }'meta und links verstehen
Section titled “meta und links verstehen”{ "meta": { "total": 71, "pages": 3 }, "links": { "prev": "...", "next": "..." }}meta.total→ Gesamtanzahl der Treffermeta.pages→ Anzahl der Seitenlinks.next→ nächste Seitelinks.prev→ vorherige Seite
Häufige Stolpersteine
Section titled “Häufige Stolpersteine”- 0 Ergebnisse → Ende erreicht oder Filter zu restriktiv
- sehr große
page[size]→ langsam oder Timeouts
Nächste Schritte
Section titled “Nächste Schritte”- Suche & Volltext
- Filtern: Klassifizierungen
- Sortierung