首页 > 解决方案 > GraphQL,如何发送包含列表的查询?

问题描述

所以我知道如何在查询中返回结果列表,但我不确定如何发送多个项目然后返回多个结果?

结果之一:

         query {
              getInventory(sku: "123456-$25"){
                  price
                  quantity
              }
         }

多个结果:

         query {
              getInventory(sku: "123456-$25", sku: "654321-$10"){   -- how do I send in a list here?
                  inventory {
                     price
                     quantity
                   }
              }
         }

标签: graphql

解决方案


在这种情况下,该getInventory字段需要支持一个字符串数组的参数。

在 SDL 形式中:

type Query {
  getInventory(skus: [String!]): SomeReturnType
}

然后你会像这样查询它:

query {
  getInventory(skus: ["123456-$25", "654321-$10"]) {
    // whatever your selections are
  }
}

注意: 注意[String!]结构:

skus: null // valid
skus: [] // valid
skus: ['a', 'b'] // valid
skus: ['a', null, 'b'] // error

推荐阅读