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

此版本的 GitHub Enterprise 已停止服务 2020-11-12. 即使针对重大安全问题,也不会发布补丁。 要获得更好的性能、改进的安全性和新功能,请升级到 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 序列时非常有用。