GraphQL新手求助:执行退款Mutation时遇未知类型及参数错误
解决退款Mutation的三个GraphQL错误
错误1:未知类型"RefundMutationFormInput"
你写的输入类型名称和服务端Schema定义不匹配,按照系统提示,把RefundMutationFormInput替换成RefundFormMutationInput或者RefundFormMutationElement即可。不确定选哪个的话,通过GraphQL Playground执行Introspection查询,或者查看项目里的Schema文件确认正确的输入类型名称。错误2、3:字段"Mutation.refund"存在未知参数"orderNumber"、"bookingItemId"
这两个参数不属于Mutation.refund的顶层参数列表,分两种情况处理:- 你可能写错了参数名:去查Schema里
refund字段的定义,把参数名替换成服务端支持的正确名称; - 参数应该嵌套在输入对象中:这两个字段原本就该放在你要传入的输入对象(比如上面提到的
RefundFormMutationInput)里面,而非作为mutation的顶层参数。调整你的Mutation结构,把这两个字段移到输入对象的属性里。
- 你可能写错了参数名:去查Schema里
给你一个修正后的示例参考(假设使用RefundFormMutationInput,且参数需嵌套在输入对象中):
mutation ProcessRefund($input: RefundFormMutationInput!) { refund(input: $input) { id status # 按需添加需要返回的字段 } }
对应的变量结构:
{ "input": { "orderNumber": "ORD-12345", "bookingItemId": "ITEM-67890", # 补充输入对象要求的其他必填字段 } }
内容的提问来源于stack exchange,提问作者Saket Kumar
相关产品推荐
相关产品推荐

