【问题标题】:Nested query GraphQL : Syntax error - iOS嵌套查询 GraphQL:语法错误 - iOS
【发布时间】:2019-04-18 12:25:13
【问题描述】:

我正在使用 Apollo GraphQL 并且必须调用嵌套查询。但是在调用 .graphql 文件中的查询时,它会显示

语法错误:预期名称,找到 {

让我知道如何调用 GraphQL 的嵌套查询。

我必须使用指定的参数调用 getAllproduct{....} 查询。这里的 FilterInput 参数为 >location 使用另一种查询模式,所以我不知道如何调用此嵌套查询。请帮助我找出解决方案。谢谢...

【问题讨论】:

    标签: ios graphql apollo


    【解决方案1】:

    如果参数是输入对象类型(而不是标量),您可以使用大括号包含输入对象类型的字段。

    query MyProductsQuery {
      allProducts(
        pageNumber: "someString"
        filter: {
          title: "someOtherString"
          yearFrom: 1900
          location: {
            city: "yetAnotherString"
            state: "FL"
          }
        }
      ) {
        id
        # other product fields
      }
    }
    

    当然,在.graphql 文件中硬编码这些值并不是很有帮助。您可能希望能够以编程方式交换这些值。所以这就是同一个查询在变量中的样子:

    query MyProductsQuery($pageNumber: String, $filter: FilterInput) {
      allProducts(pageNumber: $pageNumber, filter: $filter) {
        id
        # other product fields
      }
    }
    

    您的变量与您的查询分开传入,并且与您的查询不同,它不是 GraphQL 文档。它们只是 JSON:

    {
      "pageNumber": "someString",
      "filter": {
        "title": "someOtherString",
        "yearFrom": 1900,
        "location": {
          "city": "yetAnotherString",
          "state": "FL"
        }
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2017-07-27
      • 2021-01-29
      • 2020-12-02
      • 1970-01-01
      • 2018-06-13
      • 2019-05-30
      • 2020-09-12
      • 2021-01-14
      • 2017-06-16
      相关资源
      最近更新 更多