我们经常发布文档更新,此页面的翻译可能仍在进行中。有关最新信息,请访问英文文档。如果此页面上的翻译有问题,请告诉我们

此版本的 GitHub Enterprise 已停止服务 March 02, 2021. 即使针对重大安全问题,也不会发布补丁。 要获得更好的性能、改进的安全性和新功能,请升级到 GitHub Enterprise 的最新版本。 如需升级方面的帮助,请联系 GitHub Enterprise 支持

媒体类型

了解用于指定要使用的数据格式的媒体类型。

本文内容

自定义媒体类型在 API 中用于让使用者选择他们希望接收的数据格式。 此功能通过在发出请求时将以下一种或多种类型添加到 Accept 标头中来实现。 媒体类型特定于资源,可以进行独立更改并支持其他资源不支持的格式。

所有 GitHub Enterprise Server 媒体类型如下所示:

application/vnd.github[.version].param[+json]

API 支持的最基本媒体类型是:

application/json
application/vnd.github+json

这两者都没有指定版本,因此您总是会获取资源的当前默认 JSON 表示形式。

重要提示:API 的默认版本将来可能会更改。 如果您要构建应用程序,但担心 API 的稳定性,请务必在 Accept 标头中请求特定的版本,如以下示例所示。

您可以这样指定一个版本:

application/vnd.github.v3+json

如果要指定属性(例如下面定义的 full/raw/等等),请将版本放在属性之前:

application/vnd.github.v3.raw+json

您可以通过每个响应的标头检查当前版本。 查看 X-GitHub-Media-Type 标头:

$ curl http(s)://[hostname]/api/v3/users/technoweenie -I
> HTTP/1.1 200 OK
> X-GitHub-Media-Type: github.v3

$ curl http(s)://[hostname]/api/v3/users/technoweenie -I \
$  -H "Accept: application/vnd.github.full+json"
> HTTP/1.1 200 OK
> X-GitHub-Media-Type: github.v3; param=full; format=json

$ curl http(s)://[hostname]/api/v3/users/technoweenie -I \
$  -H "Accept: application/vnd.github.v3.full+json"
> HTTP/1.1 200 OK
> X-GitHub-Media-Type: github.v3; param=full; format=json

注释正文属性

注释正文可采用 GitHub Flavored Markdown 编写,议题议题注释拉取请求注释gist 注释 API 都接受以下媒体类型:

Raw

application/vnd.github.VERSION.raw+json

返回原始 Markdown 正文。 响应将包含 body。 这是在不传递任何特定媒体类型时的默认值。

Text

application/vnd.github.VERSION.text+json

返回 Markdown 正文的纯文本表示形式。 响应将包含 body_text

HTML

application/vnd.github.VERSION.html+json

返回从正文的 Markdown 中渲染的 HTML。 响应将包含 body_html

Full

application/vnd.github.VERSION.full+json

返回 raw、text 和 HTML 表示形式。 响应将包含 bodybody_textbody_html

Git blob 属性

获取 Blob 时允许使用以下媒体类型:

JSON

application/vnd.github.VERSION+json
application/json

返回 blob 的 JSON 表示形式,content 为 base64 编码的字符串。 这是在未传递任何参数时的默认值。

Raw

application/vnd.github.VERSION.raw

返回原始 blob 数据。

提交、提交比较和拉取请求

提交 API拉取请求 API 支持 diffpatch 格式:

差异

application/vnd.github.VERSION.diff

patch

application/vnd.github.VERSION.patch

sha

application/vnd.github.VERSION.sha

仓库内容

Raw

application/vnd.github.VERSION.raw

返回文件的原始内容。 这是在不传递任何特定媒体类型时的默认值。

HTML

application/vnd.github.VERSION.html

对于 Markdown 或 AsciiDoc 等标记文件,您可以使用 .html 媒体类型检索渲染的 HTML。 使用我们的开源标记库将标记语言渲染为 HTML。

Gist

Raw

application/vnd.github.VERSION.raw

返回 gist 的原始内容。 这是在不传递任何特定媒体类型时的默认值。

base64

application/vnd.github.VERSION.base64

Gist 内容在发送前经过 base64 编码。 这在 gist 包含任何无效的 UTF-8 序列时非常有用。