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

使用aws-amplify+graphql+react时遇NonNull类型空值强制转换错误

问题解析与修复

你的错误是因为GraphQL变量传递方式错误,导致input变量实际为null,触发了NonNull类型的校验报错。

错误原因

API.graphql的第二个参数并非变量对象,变量需要作为graphqlOperation的第二个参数传入。你当前的写法相当于没有给requestApproval mutation传入任何变量,自然会提示input为Null。

修复代码

修改saveCardLambda函数中的调用逻辑:

export async function saveCardLambda(id: string) {
  try {
    const lambdaResponse = await API.graphql(
      graphqlOperation(requestApproval, {
        input: { id }
      })
    );  
    return lambdaResponse
  } catch (error) {
    throw error;
  }
}

额外检查项

  • 确认调用saveCardLambda时传入的id不是null或undefined(虽然TypeScript声明为string,但运行时仍需保证实际值有效)
  • 核对schema.graphql中的SaveCardInput定义与代码中的变量结构完全一致(当前结构匹配,无需调整)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 04:10:34