Подтвердить что ты не робот

Значение заголовка: application/vnd.api + json

Может кто-нибудь объяснить разницу между:

application/vnd.api+json

а также

application/json
4b9b3361

Ответ 1

Тип носителя application/vnd.api+json относится к JSON API. Вы можете прочитать об этом подробно здесь.

Короче говоря, JSON API упрям ​​и аргументирован:

... спецификация того, как клиент должен запрашивать эти ресурсы извлечен или изменен, и как сервер должен реагировать на эти запросы.

Ответ 2

Первый - это тип носителя, специфичный для API. Префикс поставщика (vnd.) указывает, что он является обычным для этого поставщика. +json указывает, что он может быть проанализирован как JSON, но тип носителя должен определять дополнительную семантику поверх JSON.

Второе означает, что контент JSON. Это, в общем, не очень полезно, потому что оно не определяет значения JSON.

Хорошей отправной точкой для чтения об этом будет Wikipedia, но для получения дополнительной информации вы всегда можете следить за ссылками на соответствующие RFC на этой странице.

Ответ 3

Если вы не уверены, используйте application/json - это универсальный MIME-тип, который требует, чтобы возвращаемые данные были только правильно сформированным JSON.


MIME-тип application/vnd.api+json зарезервирован для связи по протоколу JSON API (со странным названием).

"JSON API" в данном контексте не означает никакого API, основанного на HTTP и JSON. Это также не полностью определенный API - скорее, это платформа для создания API, которые позволяют клиенту извлекать и изменять взаимосвязанные объекты. Например, приложение блога может реализовать API, соответствующий спецификации "JSON API", который позволяет извлекать последние 10 статей данного автора с метаданными и комментариями для каждой статьи в одном HTTP-запросе.

Спецификация определяет, в частности:

  • конкретный способ формирования запроса (т.е. какие параметры URL управляют сортировкой и разбиением на страницы и данными, включенными в выходные данные);
  • конкретная структура документа JSON в ответе, например:

    Документ ДОЛЖЕН содержать хотя бы одного из следующих членов высшего уровня:

    • data: документы "первичные данные"
    • errors: массив объектов ошибок
    • meta: мета-объект, который содержит нестандартную мета-информацию.

    data и errors НЕ ДОЛЖНЫ сосуществовать в одном документе.

Ответ 4

Многофункциональный тип почтовых расширений в Интернете (MIME) (или) тип носителя - это стандартизированный способ указания характера и формата документа, передаваемого через Интернет. Он стандартизирован в IETF RFC 6838. Управление по присвоению номеров в Интернете (IANA) является официальным органом, ответственным за отслеживание всех официальных типов MIME.

Тип носителя, используемый JSON API, - application/vnd.api + json, и он был надлежащим образом зарегистрирован в IANA.

Тип мультимедиа API + JSON предназначен для взаимодействия различных API, обслуживающих JSON.

Он был создан с учетом клиентов "толстого JavaScript" и их потребностей, но не является специфическим для них. Итак, с префиксом vnd (поставщик).

Добавьте еще несколько моментов в JSON API:

  • JSON API - это спецификация, которая определяет API-спецификацию того, каким должен быть запрос и ответ.
  • Позволяет нам создавать четко определенные структуры (например, связи между ресурсами и ссылками и т.д.)
  • Указывает, как API-интерфейсы REST должны реагировать на операции CRUD.
  • Позволяет клиенту кэшировать ответы.

Ответ 5

Если вам нужно настроить нижеприведенный заголовок application/vnd.hmrc.1.0 + json

Тогда вы должны пойти с

Accept: application/vnd.hmrc.1.0+json

Используя CUrl, вы можете запустить скрипт как

$url="https://test-api.service.hmrc.gov.uk/hello/world";
$ch = curl_init();
$curlConfig = array(
    CURLOPT_URL            => $url,
    CURLOPT_HTTPHEADER     => array('Accept: application/vnd.hmrc.1.0+json') 
);

curl_setopt_array($ch, $curlConfig);
$result = curl_exec($ch);
curl_close($ch);

Надеюсь, поможет!!