Wie kann ich API-Anfragen paginieren?
Last updated: June 19, 2026
Die DISPATCH-API von L2L begrenzt GET-Anfragen für den Bereich „Records“ auf 2000 Datensätze, sofern nicht anders angegeben. Was ist, wenn Sie mehr als das abrufen müssen? Dieser Artikel zeigt Ihnen, wie Sie die integrierten Abfrageargumente für die Seitennummerierung verwenden, um Datensätze über das festgelegte Limit hinaus abzurufen.
Abfrageargumente für die Seitennummerierung
Für die Seitennummerierung verwenden Sie zwei Abfrageargumente: limit und offset.
Das Argument limit begrenzt die Anzahl der Datensätze, die von der API zurückgegeben werden. Wenn Sie kein limit-Argument angeben, gibt die API standardmäßig 100 Datensätze zurück.
Das Argument offset teilt der API mit, mit welchem Datensatz begonnen werden soll. Dies ist eine nullbasierte Zählung, daher würde die erste Seite offset=0 verwenden und die API würde die Datensätze 0–99 zurückgeben. Wenn Sie Ihre Ergebnisse auf 100 Datensätze pro Seite begrenzen, wäre der offset für die zweite Seite 100.
Beispiel
Hier ist ein Beispielskript zum Abrufen mehrerer Datensätze mit Python 2.7. Achten Sie besonders auf die While-Schleife.
import requests
finished = False
machines = []
url = 'https://example.leading2lean.com/api/1.0/machines/'
apikey = 'fakeapikey'
limit = 2000
site = 1
while not finished:
resp = requests.get(url, {'auth': apikey, 'site': site, 'limit': limit, 'offset': len(machines)}, timeout=60)
if resp.ok:
resp_js = resp.json()
if not resp_js['success']:
raise Exception("api call failed with error: %s" % resp_js['error'])
machines.extend(resp_js['data'])
if len(resp_js['data']) < limit:
finished = True
else:
raise Exception("Failed request, error: %d" % resp.status_code)Alternative Methode zur Seitennummerierung von API-Anfragen
Oft müssen Sie möglicherweise Daten aus L2L abrufen, zu denen regelmäßig neue Daten hinzugefügt werden. Beispielsweise werden mehrmals pro Stunde Versände hinzugefügt. Sie können den folgenden Prozess verwenden, um Daten aus Bereichen abzurufen, die sich häufig ändern:
Schritt 1: Erstellen Sie Ihre URL. Diese URL sollte einen der speziellen Sortierparameter verwenden, um die Menge der zurückgegebenen Daten zu begrenzen. In diesem Beispiel möchte ich eine Liste von Versänden abrufen, die in der letzten Woche erstellt wurden:
https://[customer].leading2lean.com/api/1.0/dispatches?auth=[auth]&site=1&created__gt=[one week ago]&order_by=-idWie Sie sehen können, sind die Ergebnisse nach der id absteigend sortiert.
Schritt 2: Fügen Sie einen neuen speziellen Sortierparameter hinzu. Da ich nach der id sortiert habe, nehme ich die id aus dem letzten Ergebnis und füge sie wie folgt an die URL an:
https://[customer].leading2lean.com/api/1.0/dispatches?auth=[auth]&site=1&created__gt=[one week ago]&order_by=-id&id__gt=[last id]Schritt 3: Fahren Sie fort, bis Sie 0 Ergebnisse haben. Wenn das Ergebnis von L2L leer ist, haben Sie alle Datensätze abgerufen, ohne Lücken.
Tipps
- Wir empfehlen, Ihren Code so zu schreiben, dass er nur die Datensätze aus der API abruft, die Sie benötigen. Dies kann durch die Verwendung zusätzlicher Filter in den API-Anfragen und die Begrenzung der Gesamtzahl der Datensätze auf eine angemessene Menge erreicht werden. Wenn Sie Ihre API-Abfragen nicht filtern und begrenzen, werden Ihre Webserver möglicherweise für die Dauer Ihrer Anwendung langsamer. Bitte gehen Sie vorsichtig vor.
- Wenn Sie das Ende eines Datensatzes erreichen, erhalten Sie eine Antwort mit einem leeren
data-Objekt, wie hier:
Wenn Sie ein leeres data-Objekt erhalten, sollten Sie Ihre Schleife beenden.{ limit: 100, data: [], success: true, offset: 1000 }