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

Strapi POST请求无multipart数据却要求该格式,已开CREATE权限仍报错如何处理?

问题:Strapi POST调用要求使用Multi-Part请求的问题排查

为什么Strapi的POST调用总是要求使用Multi-Part请求?我使用的特定内容类型不存在multipart类型的数据。

我已经在Strapi CMS管理后台的「Roles & permission(角色与权限)」板块,为对应接口开启了CREATE权限。

提交的Post数据:
提交数据截图

返回的响应结果:
响应结果截图

前端调用代码如下:

import React, { useState } from 'react'

export default () => {
    const [description, setDescription] = useState('')

    const handleSubmit = async (event) => {
        event.preventDefault();

        const data = await fetch('http://localhost:1337/posts', {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json'
            },
            body: JSON.stringify({
                description
            })
        })
        const response = await data.json();
        console.log(response)
    }
    return (
        <div className="Create">
            <form onSubmit={handleSubmit}>
                <input
                    type="text"
                    placeholder="Description"
                    value={description}
                    onChange={(event) => {
                        setDescription(event.target.value)
                    }}
                />
                <button>Submit</button>
            </form>
        </div>
    )
}

按上述方式调用接口出现报错,请问该如何排查和解决这个问题?


解决方法

Strapi本身完全支持application/json格式的POST请求,不需要强制使用multipart格式,出现要求multipart的报错,绝大多数是请求体结构不符合Strapi的接口规范导致的,按以下步骤排查即可:

  • 修正请求体结构(核心问题)
    Strapi v4的RESTful创建/更新接口要求所有业务字段必须嵌套在data属性下,你当前的代码直接把description放在请求体根节点,Strapi解析不到有效业务数据,就会误判为你要上传二进制文件,提示要求multipart格式。
    把请求的body部分修改为如下结构即可:
body: JSON.stringify({
  data: {
    description
  }
})
  • 辅助排查项
    如果修改结构后依然报错,再检查以下配置:
    • 确认内容类型的字段名拼写完全一致,比如不要把小写的description写成大写Description
    • 确认该内容类型没有其他必填字段未传,缺失必填字段也可能触发解析错误
    • 如果你没有给Public角色开放CREATE权限,需要在请求头中添加Authorization: Bearer <你的用户token>字段
    • 可以先用API调试工具直接向接口发送符合结构的JSON请求,先确认接口本身可以正常调用,再排查前端代码问题。

修改后不需要调整Content-Type,保持application/json即可正常调用。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 20:24:03