ไลบรารี Queries
ไลบรารี Queriesดึงข้อมูลพยากรณ์อากาศของสหรัฐฯ สำหรับหลายตำแหน่งที่ตั้ง

ดึงข้อมูลพยากรณ์อากาศของสหรัฐฯ สำหรับหลายตำแหน่งที่ตั้ง

query นี้เชื่อมต่อกับ API ของ US National Weather Service และดึงข้อมูลพยากรณ์อากาศสำหรับหลายตำแหน่งที่ตั้งตามพิกัดที่กำหนด (ผ่านตัวแปร $coordinatesList ซึ่งเป็นลิสต์ของ JSON object ที่มีเอนทรี lat และ 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)
}