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

Postman创建API时出现Invalid data type错误的正确解决方法

Postman API定义type: file报错问题解决方案

报错根因

Postman的API定义校验严格遵循JSON Schema基础类型约束,file不属于官方规定的7种合法基础类型(array/boolean/integer/number/object/string/null),所以直接在schema中声明"type": "file"会触发报错。
你将file改为object的操作仅能绕开校验,完全不符合文件上传的类型定义规范,后续会导致Postman自动生成请求示例、参数校验、接口联调等环节出现不兼容问题。

正确修改方案

根据你使用的OpenAPI版本选择对应配置即可:

适用Swagger 2.0(OpenAPI 2.0)

上传文件的参数不能放在body位置,必须放在formData中,同时需要在接口层级声明请求内容类型为multipart/form-data,正确配置如下:

"parameters": [
  {
      "in": "formData",
      "name": "file",
      "description": "上传的文件列表",
      "required": false,
      "type": "array",
      "items": {
          "type": "file"
      }
  },
  // 其余参数保持不变
],
"consumes": ["multipart/form-data"]

适用OpenAPI 3.0及以上版本

该版本规范废弃了formData参数位置,同时移除了file类型,统一用type: string + format: binary表示二进制文件类型,文件数组需要配置在请求体的multipart/form-data结构下:

"requestBody": {
  "content": {
    "multipart/form-data": {
      "schema": {
        "type": "object",
        "properties": {
          "file": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "binary"
            },
            "description": "上传的文件列表"
          }
        }
      }
    }
  },
  "required": false
}

效果验证

修改完成后保存API定义,Postman不会再抛出类型错误,基于该定义生成的请求可以直接在Body的form-data栏添加多个文件参数,和后端接口的联调适配也不会出现兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 17:54:04