Query-bibliotheekHaal US weersverwachtingsgegevens op voor meerdere locaties
Haal US weersverwachtingsgegevens op voor meerdere locaties
Deze query maakt verbinding met de API van de Amerikaanse Nationale Weerdienst en haalt weersverwachtingsgegevens op voor meerdere locaties met opgegeven coördinaten (via de variabele $coordinatesList, een lijst van JSON-objecten met de velden lat en long).
query GenerateLocationURLs(
# List of JSON objects with entries `lat` and `long`
# eg: [ { "lat": 39.7456, "long": -97.0892 }, { "lat": 34.7456, "long": -77.0892 } ]
$coordinatesList: [JSONObject!]!
) {
coordinatesList: _echo(value: $coordinatesList)
@underEachArrayItem(
passValueOnwardsAs: "coordinates"
affectDirectivesUnderPos: [1, 2, 3, 4]
)
@applyField(
name: "_objectProperty",
arguments: {
by: { key: "lat" }
object: $coordinates
},
passOnwardsAs: "lat"
)
@applyField(
name: "_objectProperty",
arguments: {
by: { key: "long" }
object: $coordinates
},
passOnwardsAs: "long"
)
@applyField(
name: "_sprintf",
arguments: {
string: "https://api.weather.gov/points/%s,%s",
values: [$lat, $long]
}
passOnwardsAs: "locationURL"
)
@applyField(
name: "_echo",
arguments: {
value: {
url: $locationURL
}
}
setResultInResponse: true
)
@export(as: "coordinatesListInput")
}
query FetchUSWeatherDataForLocations
@depends(on: "GenerateLocationURLs")
{
_sendJSONObjectItemHTTPRequests(inputs: $coordinatesListInput)
}