Paginering
Paginering deler API-resultater i sider som hentes hver for seg. Sortering, videreføring og endringer under hentingen hører til API-kontrakten.
Paginering deler en resultatliste i sider som kan hentes hver for seg. Et API trenger dermed ikke sende alle oppføringene i ett svar. Sidestørrelse, sortering, videreføring og hvordan klienten kjenner igjen slutten på listen, hører til grensesnittets kontrakt.
I et fiktivt eksempel inneholder en liste sortert etter identifikator først A, B, C, D. Den første siden returnerer A og B. Før neste forespørsel legges AA inn mellom disse to. Hopper en offsetmetode nå over de to første gjeldende oppføringene, begynner neste side på B igjen: En oppføring vises to ganger. En entydig sortering låser ikke i seg selv datasettet.
Videreføringen trenger tydelige regler
En markør kan angi en fortsettelsesposisjon, for eksempel etter den sist returnerte oppføringen. API-et bestemmer den nøyaktige betydningen. En markør garanterer ikke automatisk et uendret øyeblikksbilde; slettinger og endrede sorteringsverdier må også håndteres.
I Googles tokenbaserte veiledning sendes videreføringsverdien uendret tilbake uten at klienten dekoder den. Filtre og andre utvalgsargumenter forblir like; kontrakten tillater endret sidestørrelse. Tokenet erstatter ingen tilgangskontroll. En kort eller tom side beviser heller ikke her at listen er slutt: Det avgjøres av at et videreføringstoken mangler. Bygg klienten etter det aktuelle API-ets dokumenterte kontrakt.
Kilder
Beslektede begreper
- APIEt API fastsetter hvordan programvare kan bruke funksjoner eller data fra annen programvare.
- RESTREST beskriver arkitekturregler for distribuerte grensesnitt. Ressurser, tilstandsløse forespørsler og lenker inngår i tilnærmingen.
- OpenAPIOpenAPI beskriver HTTP-grensesnitt maskinlesbart med stier, parametere og svar. Beskrivelsen må samsvare med tjenesten som kjører.
- Server-Sent EventsServer-Sent Events sender tekstmeldinger fra server til klient via HTTP, for eksempel om fremdriften til en bakgrunnsjobb.
- ETagEn ETag identifiserer en bestemt representasjonsversjon av en HTTP-ressurs og støtter betingede oppslag eller endringer.
- Cross-Origin Resource SharingCORS styrer nettleserens tilgang til svar fra en annen origin. Det erstatter verken API-innlogging eller kontroll av rettigheter.
Ditt prosjekt med ASES
Beskriv prosjektet ditt for oss. Vi tar kontakt med en første vurdering.