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

Express(JS)后端GraphQL mutation函数无法获取请求变量问题排查

问题根因

你的代码错误是由GraphQL resolver参数顺序误用导致的。

GraphQL resolver 固定按顺序接收四个参数:parent(父级解析结果,根 resolver 该值为 undefined)、args(当前请求传递的所有变量)、context(全局上下文对象)、info(请求相关的元信息)。你的代码中直接从第一个参数解构name,自然就会触发「无法从 undefined 解构 name 属性」的报错。


修复方案

只需要修改resolvers.js中createOwner的参数,占位第一个不需要的parent参数,从第二个args参数中解构name即可,修改后代码如下:

const resolvers = {
 Mutation: {
  // 第一个参数用下划线占位表示无需使用,从第二个参数中取请求变量
  createOwner: (_, {name}) => {
      console.log('createOwner name', name)
      return name
  }
 }
}

修改完成后重启服务,即可正常拿到传递的createOwnerName参数值。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 10:36:02