Dit artikel beschrijft hoe je gegevens kunt filteren via de Neoforce API met behulp van een uitgebreid filtermechanisme. De API ondersteunt nu flexibele en uitgebreide filters waarmee je resultaten kunt ophalen op basis van specifieke zoekcriteria.
Standaardfiltering
De oorspronkelijke schrijfwijze van het filtermechanisme is nog steeds geldig en werkt als volgt:
?filter[createdDate]=2024-12-16 14:31:26
Deze schrijfwijze filtert resultaten waarbij het veld createdDate
exact overeenkomt met de opgegeven waarde.
Uitgebreid Filtermechanisme
Met de uitgebreide schrijfwijze kun je flexibeler filters toepassen door gebruik te maken van verschillende vergelijkingsoperatoren. Dit biedt de mogelijkheid om resultaten te zoeken die aan specifieke voorwaarden voldoen.
Schrijfwijze
?filter[veldnaam][operator]=waarde
veldnaam
: Het veld waarop je wilt filteren (bijvoorbeeldcreatedDate
).operator
: De vergelijking die je wilt maken (bijvoorbeeldeq
,lt
,bt
, enz.).waarde
: De waarde waarmee het veld moet worden vergeleken (bijvoorbeeld2024-12-16 14:31:26
).
Beschikbare vergelijkingsoperatoren
De volgende operatoren worden ondersteund:
Operator | Betekenis | Voorbeeld |
---|---|---|
eq |
Gelijk aan | ?filter[createdDate][eq]=2024-12-16 14:31:26 |
neq |
Niet gelijk aan | ?filter[createdDate][neq]=2024-12-16 14:31:26 |
lt |
Kleiner dan | ?filter[createdDate][lt]=2024-12-16 |
lte |
Kleiner dan of gelijk aan | ?filter[createdDate][lte]=2024-12-16 |
gt |
Groter dan | ?filter[createdDate][gt]=2024-12-16 |
gte |
Groter dan of gelijk aan | ?filter[createdDate][gte]=2024-12-16 |
sw |
Begint met | ?filter[naam][sw]=Jan |
nsw |
Begint niet met | ?filter[naam][nsw]=Jan |
ew |
Eindigt met | ?filter[naam][ew]=sen |
new |
Eindigt niet met | ?filter[naam][new]=sen |
ct |
Bevat | ?filter[naam][ct]=an |
nct |
Bevat niet | ?filter[naam][nct]=an |
in |
Zit in lijst | ?filter[id][in]=1,2,3 |
nin |
Zit niet in lijst | ?filter[id][nin]=4,5,6 |
bt |
Tussen | ?filter[createdDate][bt]=2024-01-01,2024-12-31 |
nbt |
Niet tussen | ?filter[createdDate][nbt]=2024-01-01,2024-12-31 |
em |
Is leeg | ?filter[veld][em]= |
nem |
Is niet leeg | ?filter[veld][nem]= |
Voorbeelden van uitgebreid filtergebruik
-
Resultaten gelijk aan een specifieke datum
?filter[createdDate][eq]=2024-12-16 14:31:26
-
Resultaten groter dan of gelijk aan een bepaalde datum
?filter[createdDate][gte]=2024-01-01
-
Resultaten tussen twee datums
?filter[createdDate][bt]=2024-01-01,2024-12-31
-
Resultaten binnen het eerste en derde kwartaal
?filter[createdDate][bt]=2024-01-01,2024-03-31;2024-07-01,2024-9-31
-
Resultaten waarvan de naam begint met een specifieke tekst
?filter[naam][sw]=Jan
-
Resultaten waarvan een veld leeg is
?filter[veld][em]=
Filteren op een Asset-veld
Om resultaten te filteren op gekoppelde assets, wordt de oude schrijfwijze gebruikt. Dit is handig als je bijvoorbeeld alle resultaten wilt zien waarbij een laptop met een specifieke ID is gekoppeld.
Schrijfwijze voor Asset-filtering
?filter[assets]=objecttype::id
Voorbeelden
-
Resultaten waarbij een laptop met ID 42 is gekoppeld:
?filter[assets]=obj_laptops::42
-
Resultaten waarbij meerdere laptops zijn gekoppeld:
?filter[assets]=obj_laptops::42;obj_laptops::43
-
Resultaten met verschillende soorten assets:
?filter[assets]=obj_laptops::42;obj_telefoons::43
Met deze schrijfwijze kun je eenvoudig filteren op gekoppelde assets door het juiste objecttype en ID op te geven. Meerdere assets kunnen worden gescheiden door een puntkomma (;
).
Backwards Compatibility
De oorspronkelijke filtervorm zonder operator blijft ondersteund. Dit betekent dat de volgende schrijfwijze nog steeds geldig is:
?filter[createdDate]=2024-12-16 14:31:26
Maar de nieuwe en uitgebreide schrijfwijze biedt meer flexibiliteit en wordt aanbevolen.