Paginierung
Viele Endpoints geben Daten paginiert zurück. Das bedeutet, dass nicht alle Einträge auf einmal zurückgegeben werden, sondern immer nur eine Teilmenge. Dies erkennst du an einem Feld meta.pagination in der Response.
Pagination Metadaten
Die Pagination enthält Informationen über die Gesamtmenge und wie die Daten aufgeteilt sind:
{
"meta": {
"pagination": {
"total": 150,
"count": 20,
"perPage": 20,
"currentPage": 1,
"totalPages": 8
}
}
}
| Feld | Beschreibung |
|---|---|
total | Gesamtanzahl aller Einträge |
count | Anzahl Einträge auf dieser Seite |
perPage | Einträge pro Seite |
currentPage | Aktuelle Seite (beginnt bei 1) |
totalPages | Gesamtanzahl der Seiten |
Query‑Parameter
Steuere die Pagination mit diesen Parametern:
page— Seitennummer (Standard: 1)limit— Einträge pro Seite (Standard: 10)
Beispiel:
GET /api/v1/subscribers?page=2&limit=50
Das gibt die 2. Seite mit 50 Einträgen pro Seite zurück.
Durch Seiten navigieren
Um alle Daten abzurufen, iteriere über alle Seiten:
# Seite 1
curl "https://YOUR_SERVER-api.mail2many.de/api/v1/subscribers?page=1&limit=50" \
--user 'mail2many:YOUR_API_KEY' \
-H "Content-Type: application/json" \
-H "Accept: application/json"
# Seite 2
curl "https://YOUR_SERVER-api.mail2many.de/api/v1/subscribers?page=2&limit=50" \
--user 'mail2many:YOUR_API_KEY' \
-H "Content-Type: application/json" \
-H "Accept: application/json"
# Weiter bis totalPages erreicht ist
Beende die Schleife, wenn currentPage gleich totalPages ist.
Best Practices
- Nutze ein angemessenes
limit(z. B. 50–100) für bessere Performance - Cachen von Daten über mehrere Seiten zur Vermeidung redundanter Anfragen
- Bei sehr großen Datenmengen erwäge die Große Datenmengen Dokumentation
- Achte auf
429bei vielen Seitenabrufen und beachte Rate Limiting