Paging
# 🧠 Was ist Paging?
Section titled “# 🧠 Was ist Paging?”Wenn du eine API nach Daten fragst, kann sie sehr viele Ergebnisse liefern. Damit du nicht alle auf einmal bekommst (was langsam oder unübersichtlich wäre), gibt es „Paging“.
Section titled “Wenn du eine API nach Daten fragst, kann sie sehr viele Ergebnisse liefern. Damit du nicht alle auf einmal bekommst (was langsam oder unübersichtlich wäre), gibt es „Paging“.”Stell dir Paging so vor wie Seiten in einem Buch:
Section titled “Stell dir Paging so vor wie Seiten in einem Buch:”- Seite 1: Einträge 1–25
- Seite 2: Einträge 26–50
- Seite 3: Einträge 51–75
usw.
Du fragst also immer nur einen Ausschnitt der Daten ab – z. B. 25 Stück pro Seite.
Section titled “Du fragst also immer nur einen Ausschnitt der Daten ab – z. B. 25 Stück pro Seite.”## 🔧 Die Parameter fürs Paging
Section titled “## 🔧 Die Parameter fürs Paging”In deiner API gibt es verschiedene Varianten für Paging. Du kannst sie im JSON-Request unter dem Feld page angeben:
Section titled “In deiner API gibt es verschiedene Varianten für Paging. Du kannst sie im JSON-Request unter dem Feld page angeben:”"page": { "size": 25, // Wie viele Einträge pro Seite? "number": 1, // Welche Seite willst du? "offset": 0, // Ab welchem Eintrag soll angefangen werden? "limit": 25 // Wie viele insgesamt maximal zurückgeben?}## 🟡 Variante 1: size und number – klassische Seitenzählung
Section titled “## 🟡 Variante 1: size und number – klassische Seitenzählung”"page": { "size": 25, "number": 2}➡️ Das bedeutet: Gib mir die zweite Seite mit je 25 Einträgen (also Einträge 26–50).
Section titled “➡️ Das bedeutet: Gib mir die zweite Seite mit je 25 Einträgen (also Einträge 26–50).”## 🟡 Variante 2: offset und limit – direkt sagen, wo es losgeht
Section titled “## 🟡 Variante 2: offset und limit – direkt sagen, wo es losgeht”"page": { "offset": 50, "limit": 10}➡️ Das bedeutet: Gib mir 10 Einträge, beginnend ab Eintrag Nr. 51 (weil offset bei 0 beginnt).
Section titled “➡️ Das bedeutet: Gib mir 10 Einträge, beginnend ab Eintrag Nr. 51 (weil offset bei 0 beginnt).”## ✅ Komplette Anfrage – Beispiel mit allem
Section titled “## ✅ Komplette Anfrage – Beispiel mit allem”Angenommen, du willst:
Section titled “Angenommen, du willst:”- Die 2. Seite mit je 20 Einträgen
- Nur Inhalte, die seit dem 1.1.2024 geändert wurden
- In Deutsch
- Sortiert nach „zuletzt geändert“ (neuste zuerst)
Dann sähe dein JSON so aus:
Section titled “Dann sähe dein JSON so aus:”{ "page": { "size": 20, "number": 2 }, "filter": { "attribute": { "dct:modified": { "in": { "min": "2024-01-01T00:00:00Z" } } } }, "sort": "-dct:modified", "language": "de", "format": "json"}Erklärung:
Section titled “Erklärung:”"size": 20→ 20 Einträge pro Seite"number": 2→ Seite 2 (Einträge 21–40)"dct:modified"→ Filtert nach Änderungsdatum"sort": "-dct:modified"→ Sortierung: zuletzt geändert zuerst"language"+"format"→ Inhalte auf Deutsch, im JSON-Format
## 🧪 Bonus: Suche mit Paging kombinieren
Section titled “## 🧪 Bonus: Suche mit Paging kombinieren”{ "page": { "size": 10, "number": 1 }, "filter": { "search": "Klimawandel" }, "sort": "+similarity"}➡️ Suche nach dem Begriff „Klimawandel“, sortiere nach Relevanz, gib Seite 1 mit 10 Einträgen zurück.
Section titled “➡️ Suche nach dem Begriff „Klimawandel“, sortiere nach Relevanz, gib Seite 1 mit 10 Einträgen zurück.”## ❓Zusammenfassung: Wann was verwenden?
Section titled “## ❓Zusammenfassung: Wann was verwenden?”| Du willst… | Dann verwende… |
|---|---|
| Seite 1 mit 25 Einträgen | "page": { "size": 25, "number": 1 } |
| Einträge ab Nr. 50 | "page": { "offset": 50, "limit": 25 } |
| Inhalte sortiert nach Datum | "sort": "-dct:modified" |
| Nach Text suchen | "filter": { "search": "..." } |
| ---------------------------------- | -------------------------------------------------- |
| Seite 1 mit 25 Einträgen | "page": { "size": 25, "number": 1 } |
| Einträge ab Nr. 50 | "page": { "offset": 50, "limit": 25 } |
| Inhalte sortiert nach Datum | "sort": "-dct:modified" |
| Nach Text suchen | "filter": { "search": "..." } |