Paginering

De REST API geeft de resultaten gepagineerd terug. De paginagrootte kan aangepast worden door een ?_pageSize={n} query parameter toe te voegen aan de request URL.

In de response zijn de volgende elementen te vinden:

{
    "_links": {
        "self": {
            "href": "https://api.data.amsterdam.nl/v1/gebieden/buurten/"
        },
        "next": {
            "href": "https://api.data.amsterdam.nl/v1/gebieden/buurten/?page=3"
        },
        "previous": {
            "href": "https://api.data.amsterdam.nl/v1/gebieden/buurten/?page=1"
        }
    },
    "_embedded": {

       // alle objecten...

    },
    "page": {
        "number": 2,
        "size": 20
    }
}
Note
In plaats van `_pageSize` wordt ook `page_size` ondersteund, maar `_pageSize` heeft de voorkeur.

Met de velden _links.next en _links.previous zijn respectievelijk de volgende en vorige pagina op te vragen. Meer algemeen kan pagina n worden opgevraagd met ?page={n}. Paginanummers beginnen bij één, niet nul. De links next en previous ontbreken op de laatste, resp. eerste, pagina.

In het object page zijn de volgende velden opgenomen:

Wordt ?_count=true meegegeven, dat bevat het tevens:

Bijvoorbeeld:

"page": {
    "number": 1,
    "size": 20,
    "totalElements": 117,
    "totalPages": 6,
}

Het tellen van resultaten moet expliciet aangevraagd worden omdat dit bij grote datasets vertragend werkt. Lees _links.next uit om te zien of er een volgende pagina is.

De velden uit het page-object worden ook als HTTP-headers in de response teruggegeven:

De laatste twee zijn weer alleen aanwezig in het geval _count=true.