You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

学习GraphQL接口时查询totalCredits字段报错求助

排查GraphQL totalCredits查询报错的几个方向
  • 先查Human类型的定义
    看看你写的Human类型里有没有明确加totalCredits字段,正确的定义应该是这样:

    type Human implements Character {
      id: ID!
      name: String!
      starships: [Starship]
      totalCredits: Int! # 这个字段必须存在
    }
    

    如果漏写了,直接补上就行——毕竟报错就是说Human没这个字段,最直接的原因就是定义里没加。

  • 检查查询语句的写法
    如果你查的是返回接口类型的字段(比如hero字段返回的是Character接口),直接在接口层级查totalCredits肯定报错,因为接口本身可能没定义这个字段,只有Human这种具体实现类才有。这时候得用类型片段来指定:
    错误示例:

    query {
      hero {
        name
        totalCredits # 这里踩坑,Character接口没有这个字段
      }
    }
    

    正确写法:

    query {
      hero {
        name
        ... on Human {
          totalCredits
        }
        ... on Droid {
          primaryFunction
        }
      }
    }
    

    用... on 具体类型的语法,才能拿到该类型独有的字段。

  • 确认接口实现的声明
    看看Human类型有没有写implements Character(假设你用的是官方文档里的Character接口),如果没加这个声明,GraphQL不会把Human和接口关联起来,也可能导致字段识别异常——不过这种情况一般会先报实现相关的错误,但也可以顺手检查下。

  • 验证Schema的实际结构
    可以在GraphiQL里直接查看你的Schema,找到Human类型,看看字段列表里有没有totalCredits。如果Schema里确实没有,那就是定义时的疏漏,补加字段即可。

内容的提问来源于stack exchange,提问作者Blind Rabit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 13:15:21