Настраиваемые типы мультимедиа используются в API, чтобы потребители могли выбирать формат данных, которые они хотят получить. Это делается путем добавления следующих типов (одного или нескольких) в заголовок Accept
при создании запроса. Типы мультимедиа связаны с конкретными ресурсами, что позволяет изменять их независимо друг от друга и обеспечить поддержку форматов, которые не поддерживают другие ресурсы.
Все типы мультимедиа GitHub AE выглядят следующим образом:
application/vnd.github.param[+json]
Основные типы мультимедиа, поддерживаемые API:
application/vnd.github+json
application/json
Примечание. В прошлом мы рекомендовали включить v3
в заголовок Accept
. Это больше не требуется и не повлияет на запросы API.
Если вы указываете свойство (например, full, raw и т. п.), поместите его после github
:
application/vnd.github.raw+json
Свойства текста комментария
Текст комментария можно записать в GitHub Flavored Markdown. API для управления проблемами, [примечаниями, комментариями запроса на вытягивание и gist примечаниями](/rest/gists#comments) принимают такие же типы мультимедиа:
Необработанный тип носителя для свойств текста комментария
application/vnd.github.raw+json
Возвращает необработанный текст в разметке Markdown. Ответ будет включать body
. Используется по умолчанию, если вы не передаете определенный тип мультимедиа.
Тип текстового носителя для свойств текста комментария
application/vnd.github.text+json
Возвращает только текстовое представление разметки Markdown. Ответ будет включать body_text
.
Тип мультимедиа HTML для свойств текста комментария
application/vnd.github.html+json
Возвращает HTML-представление, преобразованное из разметки Markdown. Ответ будет включать body_html
.
Полный тип носителя для свойств текста комментария
application/vnd.github.full+json
Возвращает представления в виде необработанных данных, текста и HTML. Ответ будет включать body
, body_text
и body_html
.
Свойства BLOB-объекта Git
При получении BLOB-объекта разрешены следующие типы мультимедиа.
Тип носителя JSON для свойств BLOB-объектов Git
application/vnd.github+json
application/json
Возвращает JSON-представление BLOB-объекта с content
в виде строки в кодировке base64. Используется по умолчанию, если ничего не передается.
Необработанный тип носителя для свойств BLOB-объектов Git
application/vnd.github.raw
Возвращает необработанные данные BLOB-объекта.
Фиксации, сравнение фиксаций и запросы на вытягивание
REST API для управления [фиксациями и запросами на вытягивание поддерживают форматы диффов]git-diff и исправлений:
Диффайт типа мультимедиа для фиксаций, сравнения фиксаций и запросов на вытягивание
application/vnd.github.diff
Тип носителя исправлений для фиксаций, сравнения фиксаций и запросов на вытягивание
application/vnd.github.patch
тип носителя sha для фиксаций, сравнения фиксаций и запросов на вытягивание
application/vnd.github.sha
Содержимое репозитория
Необработанный тип носителя для содержимого репозитория
application/vnd.github.raw
Возвращает необработанное содержимое файла. Используется по умолчанию, если вы не передаете определенный тип мультимедиа.
Тип мультимедиа HTML для содержимого репозитория
application/vnd.github.html
Для файлов разметки, таких как Markdown или AsciiDoc, можно получить отрисованный HTML-код с помощью типа мультимедиа .html
. Языки разметки отрисовываются в HTML с помощью библиотеки разметки с открытым кодом.
Gist
Тип необработанного носителя для gists
application/vnd.github.raw
Возвращает необработанное содержимое gist. Используется по умолчанию, если вы не передаете определенный тип мультимедиа.
Тип носителя base64 для gists
application/vnd.github.base64
Перед отправкой содержимое gist шифруется в кодировке Base64. Это может быть полезно, если gist содержит недопустимые последовательности UTF-8.