在不定义数组类型的情况下在GraphQL中检索对象的数组

时间:2019-12-04 14:28:00

标签: json graphql

我正在使用GraphQL返回必要的JSON对象。

我在服务器中有一个名为Colour的已定义类型,它用于多个不同的查询中。在一种情况下,不是像

这样的查询仅返回一种Colour类型
query Colour($id: Int!) {
  colour(id: $id) {
    hue
    saturation
    luminosity
    red
    green
    blue
  }
}

我需要返回Colour的数组,而不必在后端创建名为Colours的新类型。

我需要像这样的回应

{
  "data": {
    "colours": [
      { "hue": 0, "saturation": 100, "luminosity": 100, "red": 255, "green": 0, "blue": 0 },
      { "hue": 0, "saturation": 0, "luminosity": 100, "red": 255, "green": 255, "blue": 255 }
    ]
  }
}

有没有一种方法可以对一组ID进行单个查询来获得具有这种形状的对象?

1 个答案:

答案 0 :(得分:2)

您无需为Colours的列表创建另一个称为Colour的新类型。只需使用[Colour]即可代表一个列表。另外,您必须为其定义另一个根查询字段:

type Query {
    colours(ids:[Int]) : [Colour]
}

不幸的是,如果您正在寻找一种通过输入ID列表而无需任何代码更改即可返回具有所需结构的颜色列表的方法,我认为这是不可能的。