Відповіді:
Тип носія application/vnd.api+json
відноситься до API JSON. Ви можете детально прочитати про це тут .
Коротше кажучи, JSON API - це впевнений та аргументований:
… Специфікація того, як клієнт повинен вимагати отримання ресурсів або зміну ресурсів, і як сервер повинен відповідати на ці запити.
vnd
, яке я тепер знаю як приставку постачальника через @Vasif. Правка оригіналу була б чудовою.
Перший - це специфічний для мультимедійного типу API. Префікс постачальника ( vnd.
) вказує, що для цього постачальника він звичайний. +json
Вказує на те, що він може бути розібрано як JSON, але тип носія повинен визначити подальші семантику поверх JSON.
Другий просто означає, що вміст є JSON. Це взагалі не дуже корисно, оскільки не визначає, що означають значення JSON.
Гарною відправною точкою для читання про це було б у Вікіпедії , але для отримання більш детальної інформації ви завжди можете перейти за посиланнями на відповідні RFC на цій сторінці .
Якщо ви не впевнені, використовуйте application/json
- це загальний тип MIME, який вимагає лише тих даних, які ви повертаєте, щоб бути добре сформованим JSON .
Тип application/vnd.api+json
MIME зарезервований для зв'язку за допомогою протоколу "JSON API" (збентежено названого) .
"JSON API" в цьому контексті не означає жодного API, заснованого на HTTP та JSON. Це не повністю визначений API - скоріше, це структура для побудови API, що дозволяє клієнту отримувати та змінювати взаємопов'язані об'єкти. Наприклад, програма для блогу може реалізувати API, що відповідає специфікації "JSON API", що дозволяє отримувати останні 10 статей даного автора з метаданими та коментарями до кожної статті в одному запиті HTTP.
Специфікація визначає, зокрема:
Документ ПОВИНЕН містити принаймні одного з таких членів вищого рівня:
data
: "первинні дані" документаerrors
: масив об'єктів помилокmeta
: метаоб'єкт, який містить нестандартну метаінформацію.Члени
data
таerrors
НЕ МОЖЕ співіснувати в одному документі.
Типу Multipurpose Internet Mail Extensions (MIME) Тип носія (або) являє собою стандартизований спосіб вказати характер і формат документа , переданого через Інтернет. Це стандартизовано в IETF RFC 6838 . В Internet Assigned Numbers Authority (IANA) є офіційним органом , відповідальним за відстеження всіх офіційних типів MIME.
Тип носія, що використовується API JSON, - це application / vnd.api + json і він був належним чином зареєстрований у IANA.
Тип носія API + JSON призначений для сумісності між різними API, які обслуговують JSON.
Він створений з урахуванням клієнтів "товстого JavaScript" та їх потреб, але не є специфічним для них. Отже, з префіксом vnd
(постачальник).
Додавання ще кількох балів у API JSON:
Якщо вам потрібно встановити нижче заголовок 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);
Сподіваюся, це допомагає !!