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

GraphQL数组参数Mutation实现遇阻,求正确写法指导

正确编写接收数组参数的GraphQL Mutation

你的现有Mutation存在两个关键问题导致无法运行:

  • 定义的变量$orgs是数组类型,但传递input时仅传入了单个OrganizationInput对象,既没有使用数组格式,也没有引用该变量
  • 对象内的orgId: id、orgName: name属于未定义的标识符,GraphQL会将其视为字段名而非合法的参数值

以下是两种正确的实现方式:

方式一:使用变量传递数组参数

这种方式适合动态传入批量数据的场景,Mutation定义与变量引用对应:

mutation importOrganizations($orgs: [OrganizationInput]) {
  importOrganizations(input: $orgs)
}

调用时需提供匹配格式的变量(例如在GraphiQL的Variables面板中):

{
  "orgs": [
    {"orgId": "ORG001", "orgName": "技术有限公司A"},
    {"orgId": "ORG002", "orgName": "商贸有限公司B"}
  ]
}

如果业务要求数组和元素都不能为空,可以在Schema和Mutation中补充!约束:
Schema修改:

type Mutations {
  importOrganizations(input: [OrganizationInput!]!): String
}

对应的Mutation:

mutation importOrganizations($orgs: [OrganizationInput!]!) {
  importOrganizations(input: $orgs)
}

方式二:直接硬编码数组参数

如果是固定的批量数据,可以直接在Mutation中写入数组:

mutation importOrganizations {
  importOrganizations(input: [
    {"orgId": "ORG001", "orgName": "技术有限公司A"},
    {"orgId": "ORG002", "orgName": "商贸有限公司B"}
  ])
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 04:27:15