Shopify mutation 返回 200 但数据没变怎么查
现象#
创建/更新商品的 mutation 返回 HTTP 200,业务代码当成功处理,实际后台没有任何变化。
原因#
- GraphQL 的业务错误在
userErrors里,HTTP 状态仍是 200 - 只判断了
data是否存在,没检查userErrors数组 - 字段类型不匹配(如价格传了字符串带符号)被静默拒绝
处理步骤#
- 每个 mutation 都请求
userErrors { field message code } - 统一封装:
userErrors非空即抛错并记录 code - 价格用字符串
"19.99",ID 用 GID 而不是数字 - 对关键写入做回读校验,确认落库成功
验收标准#
失败时能拿到具体字段与错误码,日志可定位;成功写入后回读数据一致。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。