GraphQL 查询错误——变量从未在操作中使用

Posted

技术标签:

【中文标题】GraphQL 查询错误——变量从未在操作中使用【英文标题】:GraphQL query error -- variable is never used in operation 【发布时间】:2022-01-02 09:24:58 【问题描述】:

我正在执行来自 Apollo Server / Express 后端的单个帖子的请求。

在 Apollo GraphQL 沙箱中,查询工作并检索到正确的帖子,但是,查询有一个红色的波浪线标识错误,内容为 -

变量“$getPostId”从未在“查询”操作中使用。

查询如下-

query Query($getPostId: ID!) 
  getPost(id:"20c9b3ac-afe6-4faa-a3f9-e00ef1b38ccf") 
    title
    author
    id
  

架构如下-

module.exports = gql`
  type Post 
    id: ID!
    title: String!
    author: String!
  
  type Query 
    getPosts: [Post]!
    getPost(id: ID!): Post
  
  ...
`

我能找到的似乎解决类似问题的最接近的帖子是here。但是,我无法将解决方案转化为我的问题。

为什么会显示错误(尤其是在查询成功运行时)?需要做些什么来阻止错误显示?

非常感谢!

【问题讨论】:

【参考方案1】:

听起来像

query Query($getPostId: ID!) 
  getPost(id:"20c9b3ac-afe6-4faa-a3f9-e00ef1b38ccf") 
    title
    author
    id
  

应该是

query Query($getPostId: ID!) 
  getPost(id: $getPostId) 
    title
    author
    id
  

或者,如果您的查询实际上是对 ID 进行硬编码,那么您需要


query Query 
  getPost(id:"20c9b3ac-afe6-4faa-a3f9-e00ef1b38ccf") 
    title
    author
    id
  

【讨论】:

非常感谢。第一个解决方案是我所追求的。为了在沙盒中进行测试,我发现变量功能也有帮助。

以上是关于GraphQL 查询错误——变量从未在操作中使用的主要内容,如果未能解决你的问题,请参考以下文章

Graphql 查询错误!变量已声明但从未使用

如何在 GraphQL 查询变量中使用数组

Apollo GraphQL iOS - 尝试在查询中使用“ID”时出现“未找到生成的操作”错误

prisma - 运行 graphql 查询时获取环境变量未找到错误消息

Apollo 客户端和 graphQl 查询错误:“OrganizationWhereUniqueInput”类型的变量“$where”预期值

Apollo GraphQL 变量查询