Paginering
Spørringer mot NVDB API kan potensielt returnere et stort antall objekter. For å begrense belastningen på APIet og samtidig unngå store responser, legges det opp til at brukere benytter paginering til å laste ned store resultatsett.
To parametre er relevante for paginering:
- antall - Angir hvor mange objekter som skal returneres.
- start - Angir markør for hvilke objekter som skal returneres.
Øvre grense for antall er avhengig av størrelse på respons, og vil kunne variere fra endepunkt til endepunkt. Dersom det angis en verdi for antall som overskrider maksimum, vil maksimumsverdien benyttes. start-markøren produseres automatisk av APIet, og kan ikke utledes.
Spørringer etter vegobjekter og vegnett vil inneholde en metadata-konvolutt, som forteller hvor mange objekter som er hentet, hvor mange objekter det er totalt, og hva gjeldende sidestørrelse er og gir startmarkør og URL for neste side av resultatsettet. På grunn av tekniske begrensninger er det nå kun mulig å bevege seg fremover med lenkene. Dersom en klient vil traversere bakover må den huske URLene den har traversert.
Når alle objektene i resultatsettet er returnert vil samme startmarkør bli returner med en tom side. Dersom det kommer inn flere objekter i NVDB vil forespørsler med denne startmarkøren returnere de nye objektene.
Eksempel
{
"objekter": [
...
],
"metadata": {
"antall": 205195,
"neste": {
"href": "https://nvdbapiles-v3.atlas.vegvesen.no/vegobjekter/5?start=7KZjoeVEkkDweQKeEX7aKr1VS8h83k4SV6svrvfnh2TewUFsPqNW1DbB3tas3i8rez7dzR8Nb8ZXFrZhL9Jxexv8u4uisHkfNsZcDAvL",
"start": "7KZjoeVEkkDweQKeEX7aKr1VS8h83k4SV6svrvfnh2TewUFsPqNW1DbB3tas3i8rez7dzR8Nb8ZXFrZhL9Jxexv8u4uisHkfNsZcDAvL"
},
"returnert": 1000,
"sidestørrelse": 1000
}
}