Seitengröße, stabile IDs und die Aussage einer Gesamtsicht festlegen.
Pagination verteilt eine Ergebnismenge auf mehrere Antworten. Für den fiktiven Museumskatalog vereinbaren wir zwei Einträge pro Seite, stabile IDs und eine dokumentierte Fortsetzung. Der Offset bezeichnet eine Position unter einer bestimmten Sortierung; ein beliebiger Sprung um 100 folgt nicht aus einer Antwort mit zwei Einträgen. Eine angekündigte Gesamtzahl ist zunächst eine Angabe der Quelle. loaded_count zählt tatsächlich validierte eindeutige IDs. Bei veränderlichen Beständen können zwischen zwei Seiten Einträge verschoben werden. Ein Snapshot-Vertrag kann eine gemeinsame Sicht sichern. Ohne ihn darf ein Client nur die bestätigte Abdeckung melden und keine stabile Gesamtsicht erfinden. Auch fünf eindeutige IDs allein beweisen nicht, dass es genau die fünf IDs eines früheren Zeitpunkts sind.
Ein Beispiel
Der Fake-Snapshot s1 enthält A,B,C,D,E. Die Seiten liefern A/B, C/D und E; Fortsetzung und terminale Antwort passen zum vereinbarten Protokoll. Erst dann ist der Download für s1 vollständig. Liefert Seite zwei B/C, ist B doppelt und D noch unbelegt, auch wenn fünf rohe Zeilen zusammenkommen.
Python 3.11 · Lehrbeispiel
pages = [["A", "B"], ["B", "C"], ["E"]]
raw = [item for page in pages for item in page]
print(len(raw), len(set(raw)))
Erwartete Ausgabe
5 4