You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

OpenAPI中multipart/form-data类型POST请求体examples字段定义方法咨询

解决OpenAPI中multipart/form-data请求示例的配置问题

嗨,我来帮你搞定这个OpenAPI里multipart请求示例的配置问题!你已经把schema部分定义得很规范了,现在只需要给examples字段填上合适的结构就行——完全可以只体现myKey1myKey2的键值对,也能按需加上文件示例。

仅包含文本键值对的示例配置

如果只想展示文本参数的示例,直接在examples里定义一个示例对象,value部分写对应的键值对即可,OpenAPI会自动识别这些键为multipart请求的form parts。

下面是完整的requestBody配置代码,替换你原来的examples部分:

"requestBody": {
  "required": true,
  "content": {
    "multipart/form-data": {
      "schema": {
        "properties": {
          "file": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "binary"
            }
          },
          "myKey1": {
            "type": "string"
          },
          "myKey2": {
            "type": "string"
          }
        }
      },
      "examples": {
        "text_only_request": {
          "summary": "仅包含文本参数的示例请求",
          "value": {
            "myKey1": "user_123",
            "myKey2": "这是一个示例描述"
          }
        }
      }
    }
  }
}

可选:包含文件的示例配置

如果之后需要展示带文件的请求示例,也很简单——在value里添加file字段,用数组格式填写文件名即可(因为你的schema定义的是数组类型的文件):

"examples": {
  "text_only_request": {
    "summary": "仅包含文本参数的示例请求",
    "value": {
      "myKey1": "user_123",
      "myKey2": "这是一个示例描述"
    }
  },
  "with_files_request": {
    "summary": "包含文件和文本参数的示例请求",
    "value": {
      "myKey1": "user_123",
      "myKey2": "这是一个示例描述",
      "file": ["report.pdf", "avatar.jpg"]
    }
  }
}

补充说明

  • 每个示例可以通过summary字段添加简短说明,方便阅读文档的人快速理解示例用途。
  • Swagger UI等OpenAPI工具会自动渲染这些示例:文本参数会显示为输入框,文件参数会显示为文件上传控件(如果包含文件示例的话)。

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

火山引擎 最新活动