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

Magento 2 REST API获取含特殊字符SKU的子产品信息报错

Magento 2 REST API SKU含特殊字符触发Nonce错误的解决办法

问题场景

调用/rest/V1/configurable-products/{sku}/children接口获取可配置产品子产品时,SKU包含特殊字符(如Risk + Box)会触发错误:

The nonce is already being used by the consumer with ID %1","parameters":["10"]

尝试过多种URL编码方式均无效:

"[base_url]/rest/V1/configurable-products/Risk+%2B+Box/children"
"[base_url]/rest/V1/configurable-products/Risk + Box/children"
"[base_url]/rest/V1/configurable-products/Risk%20+%20Box/children"

解决方法

1. 严格编码SKU中的所有特殊字符

URL路径里的每个特殊字符都需要单独编码:

  • 空格编码为%20
  • 加号+编码为%2B

正确的请求URL应为:

[base_url]/rest/V1/configurable-products/Risk%20%2B%20Box/children

之前的错误是仅编码了部分特殊字符,导致Magento无法正确解析SKU,进而触发nonce验证异常。

2. 改用POST请求传递SKU(推荐)

避开URL路径传参的编码坑,改用POST请求到/rest/V1/configurable-products/children接口,在请求体中直接传原始SKU:

请求体示例(JSON格式):

{
  "sku": "Risk + Box"
}

这种方式无需手动编码SKU,Magento能直接正确识别。

3. 清理缓存并验证消费者密钥

如果上述方法仍无效,执行以下操作:

  • 清理Magento缓存:
    bin/magento cache:flush
    
  • 检查并重新生成API消费者密钥,排除密钥关联的nonce缓存异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 13:42:10