ApolloGraphQL中的非空字段不能返回null
创始人
2024-09-09 10:00:51
0

在Apollo GraphQL中,如果定义的字段是非空字段,则该字段不能为空,不能返回null。如果尝试返回null值,则会报“Cannot return null for non-nullable field”错误。

为了解决这个问题,我们需要检查服务端代码中是否确实返回了非空字段的null值。如果是的话,需要找到出现问题的方法并修改它,确保它返回正确的值或者默认值。

例如,我们可以在查询函数中使用更严格的类型,并加入null的处理,确保查询参数不会为空:

type Query {
  user(id: ID!): User
}

type User {
  id: ID!
  name: String!
  email: String
}

resolvers = {
  Query: {
    user(root, { id }, context) {
      const user = getUserById(id)
      if (!user) {
        throw new Error('User not found')
      }
      return {
        id: user.id,
        name: user.name,
        email: user.email || ''
      }
    }
  }
}

上面的代码中,如果用户没有提供唯一标识符或找不到该标识符,则会抛出异常。在返回User对象时,我们可以使用条件运算符处理email字段的null值,以确保返回正确的类型。

相关内容

热门资讯

日前"如何下载wpk... 日前"如何下载wpk透视版"hhpoker有没有辅助(好像是真的辅助安装)-哔哩哔哩1、每一步都需要...
有消息称"如何下载德... 有消息称"如何下载德普之星辅助软件"来玩app破解(确实存在有辅助辅助器)-哔哩哔哩1、如何下载德普...
透视神器"we-po... 透视神器"we-poker有人玩吗"we-poker软件(都是是有辅助插件)-哔哩哔哩1、点击下载安...
透视辅助"大菠萝免费... 透视辅助"大菠萝免费辅助"wepoker怎么设置透视(竟然存在有辅助插件)-哔哩哔哩wepoker怎...
透视肯定"约局吧德州... 透视肯定"约局吧德州有挂吗"wepoker有透视吗(确实真的有辅助辅助器)-哔哩哔哩暗藏猫腻,小编详...
透视好友房"wepo... 透视好友房"wepoker游戏的安装教程"hhpoker有没有辅助(其实是真的辅助安装)-哔哩哔哩1...
透视苹果版"wepo... 透视苹果版"wepoker辅助器激活码"德州透视脚本(竟然存在有辅助插件)-哔哩哔哩1、wepoke...
不少玩家反映"hhp... 不少玩家反映"hhpoker辅助靠谱吗"we poker免费辅助器(竟然真的有辅助app)-哔哩哔哩...
据报道"佛手大菠萝有... 据报道"佛手大菠萝有挂吗"wepoker是不是有人用挂(都是真的是有辅助神器)-哔哩哔哩;1、wep...
据公告内容"hhpo... 据公告内容"hhpoker开挂教程"wepoker新号好一点吗(都是是真的辅助辅助器)-哔哩哔哩1、...