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

如何在GraphQL中获取特定数据?解决非空字段返回空值错误

解决GraphQL中"Cannot return null for non-nullable field Query.employee."错误

你的查询语句:

query Employee($id: Int!) {
  employee(id: $id) {
    id
    FirstName
    LastName
    Age
    DateOfJoining
    Title
    Department
    EmployeeType
    CurrentStatus
  }
}

遇到的错误:

"message": "Cannot return null for non-nullable field Query.employee.",

以下是几个常见的排查方向和解决方法:

  • 目标ID不存在:你的Schema里Query.employee应该被定义成了Employee!(非空类型),但如果传入的$id在数据源中没有对应员工记录,Resolver返回null就会触发这个错误。要么确认传入的ID是正确有效的,确实存在对应员工;如果业务允许查询不到时返回null,就把Schema里的employee: Employee!改成employee: Employee。
  • Resolver逻辑出错:检查处理Query.employee的Resolver代码,比如数据库查询语句是否写错、有没有权限拦截导致返回null、数据源连接是否正常。确保ID有效时能正确返回完整的Employee对象,无效时要么抛出明确的业务错误(比如"员工不存在"),要么调整字段的可空性。
  • 变量传递错误:确认请求时是否正确传递了$id变量,比如有没有拼写错变量名、是不是传了字符串类型(比如"123"而不是123)导致Resolver无法正确匹配数据。用GraphQL Playground或客户端工具检查请求的变量部分,确保$id是有效的Int值。

内容的提问来源于stack exchange,提问作者Smeet Patel

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 03:52:09