Skip to content

🟡 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)

  • page[size] → Anzahl der Elemente pro Seite
  • page[number] → Seitennummer (beginnend bei 1)

Typische Werte:

  • 25 oder 50 → Frontends
  • 100 → Exporte oder Batch-Verarbeitung (abhängig von Performance)

Terminal window
curl -s \
-H "Authorization: Bearer {TOKEN}" \
"{BASE_URL}/api/v4/endpoints/{ENDPOINT}?page[size]=25&page[number]=1"
Terminal window
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

Section titled “Variante B: Dem links.next-Link folgen (empfohlen)”

Wenn es eine nächste Seite gibt, enthält die Response links.next.

Terminal window
curl -s \
-H "Authorization: Bearer {TOKEN}" \
"{NEXT_URL_AUS_LINKS_NEXT}"

💡 Wenn links.next fehlt oder leer ist, bist du am Ende angekommen.


Terminal window
curl -s \
-H "Authorization: Bearer {TOKEN}" \
"{BASE_URL}/api/v4/endpoints/{ENDPOINT}?filter[q]=museum&page[size]=25&page[number]=1"
Terminal window
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": {
"total": 71,
"pages": 3
},
"links": {
"prev": "...",
"next": "..."
}
}
  • meta.total → Gesamtanzahl der Treffer
  • meta.pages → Anzahl der Seiten
  • links.next → nächste Seite
  • links.prev → vorherige Seite

  • 0 Ergebnisse → Ende erreicht oder Filter zu restriktiv
  • sehr große page[size] → langsam oder Timeouts

  • Suche & Volltext
  • Filtern: Klassifizierungen
  • Sortierung
© dataCycle ✨