MIME 类型
API 可以接受和返回不同格式的数据,最常见的是 JSON 和 XML。您可以使用 consumes
和 produces
关键字来指定您的 API 理解的 MIME 类型。consumes
和 produces
的值是 MIME 类型数组。全局 MIME 类型可以在 API 规范的根级别定义,并由所有 API 操作继承。这里 API 使用 JSON 和 XML
1consumes:2 - application/json3 - application/xml4produces:5 - application/json6 - application/xml
请注意,consumes
仅影响带有请求正文的操作,例如 POST、PUT 和 PATCH。对于像 GET 这样没有正文的操作,它将被忽略。当在操作级别使用时,consumes
和 produces
会覆盖(而不是扩展)全局定义。在以下示例中,GET /logo
操作重新定义了 produces
数组以返回图像
1paths:2 /logo:3 get:4 summary: Returns the logo image5 produces:6 - image/png7 - image/gif8 - image/jpeg9 responses:10 200:11 description: OK12 schema:13 type: file
consumes
和 produces
中列出的 MIME 类型应符合 RFC 6838。例如,您可以使用标准 MIME 类型,例如
1application/json2application/xml3application/x-www-form-urlencoded4multipart/form-data5text/plain; charset=utf-86text/html7application/pdf8image/png
以及供应商特定的 MIME 类型(由 vnd.
指示)
1application/vnd.mycompany.myapp.v2+json2application/vnd.ms-excel3application/vnd.openstreetmap.data+xml4application/vnd.github-issue.text+json5application/vnd.github.v3.diff6image/vnd.djvu