Los tipos de medios personalizados se utilizan en la API para permitir que los consumidores elijan el formato de los datos que quieren recibir. Esto se hace al agregar uno o más de los siguientes tipos al encabezado de Accept
cuando haces una solicitud. Los tipos de medios son específicos para los recursos, lo que les permite cambiar independientemente y aceptar los formatos que otros usarios no aceptan.
Todos los tipos de medios de GitHub Enterprise Server se ven así:
application/vnd.github[.version].param[+json]
Los tipos de medios más básicos que la API acepta son:
application/json
application/vnd.github+json
Ninguno de estos especifica una versión, así que siempre obtendrás la representación actual y predeterminada en JSON de los recursos.
Importante: La versión predeterminada de la API podría cambiar posteriormente. Si estás creando una aplicación y te importa la estabilidad de la API, asegúrate solicitar una versión específica en el encabezado Accept
como se muestra en los siguientes ejemplos.
Puedes especificar una versión así:
application/vnd.github.v3+json
Si estás especificando una propiedad (tal como full/raw/etc como se define más adelante), pon la versión antes de la propiedad:
application/vnd.github.v3.raw+json
Puedes verificar la versión actual a través de los encabezados de cada respuesta. Busca el encabezado X-GitHub-Media-Type
:
$ curl http(s)://[hostname]/api/v3/users/technoweenie -I
> HTTP/2 200
> X-GitHub-Media-Type: github.v3
$ curl http(s)://[hostname]/api/v3/users/technoweenie -I \
$ -H "Accept: application/vnd.github.full+json"
> HTTP/2 200
> 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/2 200
> X-GitHub-Media-Type: github.v3; param=full; format=json
Porpiedades del cuerpo del comentario
El cuerpo de un comentario puede escribirse en el Lenguaje de Marcado Enriquecido de GitHub. Las propuestas, lso comentarios de las propuestas, los comentarios de las solicitudes de cambios, y las API de los comentarios de un gist siempre aceptan los mismos tipos de medios:
Sin procesar
application/vnd.github.VERSION.raw+json
Devuelve el cuerpo en markdown sin procesar. La respuesta incluirá a body
. Esto es lo predeterminado si no pasas ningún tipo de medios específico.
Texto
application/vnd.github.VERSION.text+json
Devuelve una presentación únicamente de texto para el cuerpo de markdown. La respuesta incluirá a body_text
.
HTML
application/vnd.github.VERSION.html+json
Duevuelve el HTML interpretado del markdown del cuerpo. La respuesta incluirá a body_html
.
Completo
application/vnd.github.VERSION.full+json
Devuelve las representaciones de HTML, texto y sin procesar. La respuesta incluirá a body
, body_text
, y body_html
:
Propiedades de los blobs de Git
Los siguientes tipos de medios se permiten cuando obtienes un blob:
JSON
application/vnd.github.VERSION+json
application/json
Devuelve una representación en JSON del blob con un content
en forma de una secuencia cifrada de base64. Esto es lo predeterminado si no se pasa nada más.
Sin procesar
application/vnd.github.VERSION.raw
Devuelve los datos del blob sin procesar.
Confirmaciones, comparación de la confirmación, y solicitudes de extracción
La API de confirmaciones y la API de solicitudes de cambios soportan los formatos de diff y de parche:
diferencia
application/vnd.github.VERSION.diff
parche
application/vnd.github.VERSION.patch
sha
application/vnd.github.VERSION.sha
Contenidos del repositorio
Sin procesar
application/vnd.github.VERSION.raw
Devuelve el contenido sin procesar de un archivo. Esto es lo predeterminado si no pasas ningún tipo de medios específico.
HTML
application/vnd.github.VERSION.html
Para archivos de markup tales como Markdown o AsciiDoc, puedes recuperar la interpretación en HTML si utilizas el tipo de medios .html
. Los lenguajes de Markup se interpretan en HTML utilizando nuestra biblioteca de Markup de código abierto.
Gists
Sin procesar
application/vnd.github.VERSION.raw
Devuelve el contenido sin procesar de un gist. Esto es lo predeterminado si no pasas ningún tipo de medios específico.
base64
application/vnd.github.VERSION.base64
El contenido del gist se cifra en base64 antes de que se envíe. Esto puede serte útil si tu gist contiene cualquier secuencia inválida en UTF-8.