使用Apollo Client+React开发GraphQL时Mutation类型匹配异常求助
排查GraphQL Mutation类型不匹配问题
你的问题出在枚举类型的变量定义和传参方式上,以下是具体问题和修复方案:
核心问题分析
错误提示Field "xMutation" argument "type" requires type X_value, found X_value看似矛盾,实际是因为你的Mutation代码存在两处关键错误:
- 变量定义时,
$type: milk写法错误——这里应该填写枚举类型的名称(即错误提示里的X_value),而非枚举的具体值milk。 - 传参时直接硬写
type: milk虽语法允许,但未正确使用变量,导致类型校验逻辑混乱。
修复后的Mutation代码
mutation Product ( $id: String $type: X_value # 此处填写枚举类型名,而非具体枚举值 $productId: String ) { productMutation ( id: $id type: $type # 使用变量传递枚举值,而非硬写 productId: $productId ) { ...productDetails } }
额外注意事项
- 确认你的GraphQL Schema中已定义
X_value枚举类型,且milk是该枚举下的合法值。 - 调用Mutation时,传入的
type参数值需严格匹配枚举的大小写(GraphQL枚举区分大小写)。
内容的提问来源于stack exchange,提问作者Uzaq Sahillərdə
相关产品推荐
相关产品推荐

