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