Query-bibliotheekGegevens filteren uit een externe API
Gegevens filteren uit een externe API
Als je gegevens uit een externe API moet ophalen, maar je hebt alleen die resultaten nodig die aan een bepaalde voorwaarde voldoen (zoals het hebben van een veld met een niet-lege waarde), en de API ondersteunt geen filtering, dan kun je Gato GraphQL gebruiken om een API-gateway te implementeren die de vermeldingen verwijdert die niet aan je voorwaarde voldoen.
Wanneer je bijvoorbeeld het REST API-endpoint /users van een WordPress-site aanroept, kun je de gebruikers eruit filteren die een leeg url-veld hebben:
query FilterDataFromWordPressAPI(
# eg: https://somesite.com/wp-json/wp/v2/users/?_fields=id,name,url
$endpointURL: URL!
) {
usersWithWebsiteURL: _sendJSONObjectCollectionHTTPRequest(
input: {
url: $endpointURL
}
)
# Remove users without a website URL
@underEachArrayItem(
passValueOnwardsAs: "userDataEntry"
affectDirectivesUnderPos: [1, 2, 3]
)
@applyField(
name: "_objectProperty"
arguments: {
object: $userDataEntry
by: {
key: "url"
}
}
passOnwardsAs: "websiteURL"
)
@applyField(
name: "_isEmpty"
arguments: {
value: $websiteURL
}
passOnwardsAs: "isWebsiteURLEmpty"
)
@if(
condition: $isWebsiteURLEmpty
)
@setNull
@arrayFilter
}