【问题标题】:How to return multiple objects as array in GraphQL如何在 GraphQL 中将多个对象作为数组返回
【发布时间】:2018-07-05 18:42:36
【问题描述】:

我想查询 graphql 中的对象数组。

我尝试过类似的方法:

{
    imageSharp(id: {regex: "/whales/"}) {
        data: [
            resize(width: 300, height: 800 ) {
                src
                width
            },
            resize(width: 400, height: 1000 ) {
                src
                width
            },
            resize(width: 500, height: 1200 ) {
                src
                width
            }
        ]
    }
}

是否可以或应该为每个对象写单独的名称

{
  imageSharp(id: {regex: "/whales/"}) {
    data1: resize(width: 300, height: 800) {
      src
      width
    }
    data2: resize(width: 400, height: 1000) {
      src
      width
    }
    data3: resize(width: 500, height: 1200) {
      src
      width
    }
  }
}

【问题讨论】:

    标签: graphql


    【解决方案1】:

    您不能像在第一个示例中那样查询数组, 但据我所知,您想根据不同的过滤器将多个“调整大小”结果检索到单个数组,

    这样做的唯一可能方法是为不同的过滤器选项提供别名,例如您的第二个查询示例,但随后它将位于多个数组中,

    或更改“resize”解析器上的过滤器对象以检索宽度、高度的数组,从而在单个数组中返回结果

    【讨论】:

      【解决方案2】:

      您能展示一下您的架构是如何构建的吗? 如果您的架构只支持返回一个对象,那么您将需要进行多个查询。但是您的服务器可能支持批量查询。然后,您将避免对服务器的多个请求。 https://dev-blog.apollodata.com/query-batching-in-apollo-63acfd859862

      【讨论】:

        猜你喜欢
        • 2019-11-16
        • 2019-04-25
        • 2012-01-02
        • 1970-01-01
        • 2021-06-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-20
        相关资源
        最近更新 更多