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

调用Opencart API时是否可以使用JSON格式的请求体?

Opencart API 传参格式问题说明
  • Opencart 原生API默认不支持直接接收raw JSON格式的请求参数,官方文档中的JSON格式仅为参数结构示例,并非要求请求体使用JSON格式提交。
  • 底层逻辑原因:Opencart 默认从$_POST全局变量中读取接口请求参数,PHP的$_POST仅会解析application/x-www-form-urlencoded、multipart/form-data两种Content-Type的请求,不会主动解析application/json类型的raw请求体,因此直接传JSON会导致后端无法读取参数,返回空响应。
  • 如需兼容JSON传参,可手动修改底层逻辑,在API控制器处理参数前新增JSON解析逻辑,参考代码如下:
// 在API控制器初始化阶段或全局控制器前置逻辑中添加
if (strpos($_SERVER['CONTENT_TYPE'], 'application/json') !== false) {
    $json_input = json_decode(file_get_contents('php://input'), true);
    if (json_last_error() === JSON_ERROR_NONE && is_array($json_input)) {
        $this->request->post = array_merge($this->request->post, $json_input);
    }
}
  • 注意修改前请备份原有代码,避免影响其他已正常使用form-data格式调用的接口。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 15:54:00