Ich stecke gerade in einem kleinen API-Dilemma fest und wollte mal hören, wie ihr das handhabt. Bei meinem aktuellen Projekt muss ich Daten aus einem eher alten System abrufen, das nur eine sehr rudimentäre REST-Schnittstelle anbietet. Die Paginierung funktioniert über einen einfachen Offset, aber bei großen Datensätzen wird das langsam und unzuverlässig. Ich frage mich, ob ich die Logik clientseitig irgendwie optimieren sollte oder ob es einen eleganteren Weg gibt, mit so einer Einschränkung umzugehen.
Ich verstehe den frust wenn die Paginierung mit Offset bei riesigen datenmengen ins stocken gerät und jeder durchlauf sich anfühlt als würde man gegen eine schwerkraft arbeiten.
Eine pragmatische idee ist es clientseitig zu cachen und stepweise vorzugehen doch das wird schnell teuer in speicher und konsistenz wenn die daten sich oft ändern.
Vielleicht lohnt sich ein wechsel zu keyset pagination oder eine API die inkrementelles laden unterstützt auch wenn der server das nicht anbietet.
Man kann daten auch in zeitfenstern ziehen und dann duplikate vermeiden doch das ändert die grundlogik nicht wirklich.
Ist es nicht auch sinnvoll den anbieter um eine verbesserung zu bitten und klar zu machen dass offset pagination bei großen mengen problematisch ist?
Vielleicht sollten wir das thema neu rahmen und daten als fluss sehen statt als stapel ausselektion so gewinnt man eine andere perspektive auf die paginierung