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

Stoplight使用multipart/form-data设置Content-Type报错如何解决

multipart/form-data 同时传文件和JSON对象的Stoplight配置方案

现有配置的核心错误

  • 拼写错误:encoding.data.contentType 的值写为 apllication/json,正确拼写为 application/json,缺了一个字母p,会导致工具无法识别该分段的内容类型。
  • 空对象定义无效:data 字段仅声明 type: object 但未定义具体属性结构,Stoplight的表单渲染引擎无法识别无结构对象的序列化规则,直接触发参数校验错误。

正确配置示例

content:
  multipart/form-data:
    schema:
      type: object
      required:
        - files
        - data
      properties:
        files:
          # 单文件上传用下面两行配置
          # type: string
          # format: binary
          # 多文件上传用下面三行配置
          type: array
          items:
            type: string
            format: binary
        data:
          type: object
          # 必须补全和后端接收规则一致的JSON对象属性
          properties:
            # 以下字段替换为你实际业务需要的字段
            bizId:
              type: string
            userName:
              type: string
            status:
              type: integer
          required:
            - bizId
    encoding:
      data:
        contentType: application/json # 修正拼写错误

验证与兜底方案

  • 配置保存后刷新Stoplight页面,请求体区域会自动将files渲染为文件选择控件,data渲染为结构化JSON编辑框,和Postman的操作逻辑一致。
  • 发送请求前可查看请求原始报文,确认data对应的form-data分段头包含Content-Type: application/json即可正常调用。
  • 若使用旧版本Stoplight仍存在兼容问题,可将data字段临时改为type: string,调用时手动传入序列化后的JSON字符串,后端接收后做一次反序列化即可,这是兼容所有OpenAPI工具的通用兜底方案。

内容的提问来源于stack exchange,提问作者Golam Wasy Arnob

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 03:12:18