Paginering
Paginering verdeelt API-resultaten in afzonderlijk opvraagbare pagina’s. Sortering, vervolgpositie en wijzigingen tijdens het ophalen horen bij het API-contract.
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
Verwante begrippen
- APIEen API legt vast hoe software functies of gegevens van andere software kan gebruiken.
- RESTREST beschrijft architectuurregels voor gedistribueerde interfaces. Resources, stateloze verzoeken en links maken deel uit van de aanpak.
- OpenAPIOpenAPI beschrijft HTTP-interfaces in machineleesbare vorm, met paden, parameters en antwoorden. De beschrijving moet overeenkomen met de draaiende dienst.
- Server-Sent EventsServer-Sent Events verstuurt tekstmeldingen van server naar client via HTTP, bijvoorbeeld over de voortgang van een achtergrondtaak.
- ETagEen ETag identificeert een bepaalde representatieversie van een HTTP-resource en ondersteunt voorwaardelijk lezen of wijzigen.
- Cross-Origin Resource SharingCORS regelt browsertoegang tot antwoorden van een andere origin. Het vervangt geen API-aanmelding of controle van toegangsrechten.
Uw project met ASES
Beschrijf ons uw project. We nemen contact met u op met een eerste inschatting.