GraphQL:变量由匿名查询使用但未声明

标签 graphql

我是 GraphQL 的新手。我有一个查询,但它显示“变量被匿名查询使用但未声明”的错误消息。

{
   "query":"{customers(first: 1, query: $input) {edges{node {addresses{ id }}}}}",
   "variables":{
      "input":{
         "id":"gid://shopify/Customer/5044061470926"
      }
   }
}

我做错了什么可以得到帮助吗?

谢谢!

最佳答案

错误是正确的。您的查询是

{
  customers(first: 1, query: $input) {
    edges{
      node {
        addresses{ 
          id 
        }
      }
    }
  }
}

$input确实没有声明,所以 GraphQL 不知道它应该是什么或如何将它与您的 variables 链接起来。值(value)观。

你需要这样做

query ($input: <THE_TYPE>!) {
  customers(first: 1, query: $input) {
    edges{
      node {
        addresses{ 
          id 
        }
      }
    }
  }
}

我不知道您的 API 架构,因此您必须替换 <THE_TYPE>使用您的 API 架构中定义的任何类型。

关于GraphQL:变量由匿名查询使用但未声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67405693/

相关文章:

graphql - 如何从 GraphQL 模式生成 Kotlin 和/或 Java 数据模型

graphql - 处理 Hasura 中的不同角色

javascript - 对象作为突变 : GraphQL - Apollo - React 中的输入变量

asp.net-core - HotChocolate GraphQL 在运行时添加类型扩展或模式

ruby-on-rails - 在 graphql 分页中找到名称 'Connection' 的重复类型定义

graphql - Github GraphQL API 获取特定日期的问题计数

php - 如何在灯塔 graphql laravel 中获取自定义指令参数

reactjs - 在 Apollo 客户端中使用 Auth0 的 hook useAuth0 获取 token 并设置 header

javascript - 如何在模式中嵌套两个 graphQL 查询?

c# - 在 .net 核心中使用带有 graphql 的泛型类