Met de ?_fields=
parameter wordt de grootte van de resultaten
ingeperkt tot enkel de relevante velden die de client nodig heeft. Dit
geeft betere performance, voor zowel de client als server. Er zijn een
aantal notatievormen mogelijk:
Parameter | Werking |
---|---|
?_fields={veld1},{veld2} |
Alleen opgegeven velden worden teruggegeven. |
?_fields=-{veld1},-{veld2} |
De uitgesloten velden worden NIET teruggegeven. |
?_fields={veld1},{veld2.subveld} |
Alleen opgegeven velden van relaties worden terugegeven. |
?_fields={veld1},-{veld2.subveld} |
Alleen veld1 , maar alles van veld2 behalve het subveld . |
Wanneer je alleen specifieke velden opgeeft, wordt de rest weggelaten:
curl 'https://api.data.amsterdam.nl/v1/fietspaaltjes/fietspaaltjes/?_fields=geometry,soortPaaltje'
Met het min-teken wordt aangegeven dat alle velden worden teruggegeven, met uitzondering van het opgegeven veld:
curl 'https://api.data.amsterdam.nl/v1/fietspaaltjes/fietspaaltjes/?_fields=-area,-noodzaak'
Wanneer er relaties worden teruggegeven (zowel geneste structuren, als
ingesloten relaties met ?_expandScope
), werkt de ?_fields=
logica
hiervoor ook:
curl 'https://api.data.amsterdam.nl/v1/bag/woonplaatsen/?_expandScope=heeftDossier.heeftBrondocumenten&_fields=naam,heeftDossier,heeftDossier.heeftBrondocumenten.documentnummer'
Per niveau kunnen velden worden ingesloten en uitgesloten. Het opgeven van een geneste uitsluiting betekend dat het hoofdobject zelf wel ingesloten wordt.