Gå til innholdet

Paginering

Paginering deler API-resultater i sider som hentes hver for seg. Sortering, videreføring og endringer under hentingen hører til API-kontrakten.

Også kjent somPaginationSideinndeling
API-er og datakontrakter

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