自定义媒体类型在 API 中用于让使用者选择他们想要接收的数据格式。 可在发出请求时将以下一种或多种类型添加到 Accept
标头来实现此功能。 媒体类型特定于资源,允许它们独立更改并支持其他资源不支持的格式。
所有 GitHub 媒体类型如下所示:
application/vnd.github.param[+json]
API 支持的最基本媒体类型是:
application/vnd.github+json
application/json
注意:过去,我们建议在 Accept
标头中包含 v3
。 现在不再需要此操作,对你的 API 请求没有影响。
如果要指定属性(例如下面定义的 full/raw 等),请将它放在 github
之后:
application/vnd.github.raw+json
注释正文属性
注释的正文可以编写为 GitHub 风格的 Markdown。 问题、问题注释、拉取请求注释和 gist 注释都接受这些相同的媒体类型:
注释正文属性的原始媒体类型
application/vnd.github.raw+json
返回原始 Markdown 正文。 响应将包括 body
。 这是在不传递任何特定媒体类型时的默认值。
注释正文属性的文本媒体类型
application/vnd.github.text+json
返回 Markdown 正文的纯文本表示形式。 响应将包括 body_text
。
注释正文属性的 HTML 媒体类型
application/vnd.github.html+json
返回从正文的 Markdown 中渲染的 HTML。 响应将包括 body_html
。
注释正文属性的完整媒体类型
application/vnd.github.full+json
返回 raw、text 和 HTML 表示形式。 响应将包括 body
、body_text
和 body_html
:
Git blob 属性
获取 Blob 时,可使用以下媒体类型:
Git Blob 属性的 JSON 媒体类型
application/vnd.github+json
application/json
返回 Blob 的 JSON 表示形式,content
为 base64 编码的字符串。 这是在未传递任何参数时的默认值。
Git Blob 属性的原始媒体类型
application/vnd.github.raw
返回原始 blob 数据。
提交、提交比较和拉取请求
用于管理提交和拉取请求 的 REST API 支持 diff 和 patch 格式:
提交、提交比较和拉取请求的 diff 媒体类型
application/vnd.github.diff
提交、提交比较和拉取请求的 patch 媒体类型
application/vnd.github.patch
提交、提交比较和拉取请求的 sha 媒体类型
application/vnd.github.sha
仓库内容
存储库内容的原始媒体类型
application/vnd.github.raw
返回文件的原始内容。 这是在不传递任何特定媒体类型时的默认值。
存储库内容的 HTML 媒体类型
application/vnd.github.html
对于 Markdown 或 AsciiDoc 等标记文件,可以使用 .html
媒体类型检索呈现的 HTML。 使用开源标记库将标记语言呈现给 HTML。
Gists
Gist 的原始媒体类型
application/vnd.github.raw
返回 gist 的原始内容。 这是在不传递任何特定媒体类型时的默认值。
Gist 的 base64 媒体类型
application/vnd.github.base64
gist 内容在发送之前会进行 base64 编码。这在 gist 包含任何无效的 UTF-8 序列时非常有用。