Naar de inhoud

Paginering

Paginering verdeelt API-resultaten in afzonderlijk opvraagbare pagina’s. Sortering, vervolgpositie en wijzigingen tijdens het ophalen horen bij het API-contract.

Ook bekend alsPagination
API's en datacontracten

Paginering verdeelt een resultatenlijst in afzonderlijk opvraagbare pagina’s. Een API hoeft daardoor niet alle records in één antwoord te versturen. Paginagrootte, sortering, vervolgpositie en het herkenbare einde van de lijst horen bij het contract van de interface.

In een fictief voorbeeld bevat een op identificatie gesorteerde lijst eerst A, B, C, D. De eerste pagina geeft A en B terug. Vóór het volgende verzoek wordt AA tussen die twee toegevoegd. Slaat een offsetmethode nu de eerste twee actuele records over, dan begint de volgende pagina opnieuw bij B: één record verschijnt twee keer. Een unieke sortering zet de gegevensverzameling op zichzelf niet vast.

Het vervolg vraagt om duidelijke regels

Een cursor kan een vervolgpositie aangeven, bijvoorbeeld na het laatst teruggegeven record. De API bepaalt de precieze betekenis. Een cursor garandeert niet automatisch een ongewijzigde momentopname; ook verwijderingen en gewijzigde sorteerwaarden verdienen aandacht.

In Googles richtlijn met tokens geeft de client de vervolgwaarde ongewijzigd terug, zonder die zelf te ontleden. Filters en andere selectieargumenten blijven gelijk; volgens dit contract mag de paginagrootte veranderen. Het token vervangt geen toegangscontrole. Ook een korte of lege pagina bewijst hier niet dat de lijst afgelopen is: daarvoor is het ontbreken van een vervolgtoken bepalend. Bouw uw client volgens het gedocumenteerde contract van de gebruikte API.

Bronnen