我有一个服务可以创建一个包含以下内容的多部分文件:
是否可以使用YAML在OpenAPI(Swagger)定义中对此自定义响应进行建模?
答案 0 :(得分:6)
可以使用OpenAPI 3.0来描述多部分响应,但不能使用OpenAPI 2.0(fka Swagger 2.0)来描述。
openapi: 3.0.0
...
paths:
/something:
get:
responses:
'200':
description: OK
content:
multipart/mixed: # <-- Content-Type of the response
schema:
type: object
properties:
# Part 1 - application/octet-stream
file: # <-- part name
type: string
format: binary
# Part 2 - application/json
metadata: # <-- part name
type: object
properties:
foo:
type: string
example: bar
required:
- foo
# Optional, see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#encoding-object
encoding:
file:
...
metadata:
...
可选的encoding
密钥可用于覆盖子部件的Content-Type
或为子部件添加标头(例如Content-Disposition
)。