ヘッダー値:application / vnd.api + json


101

誰かが違いを説明できますか:

application/vnd.api+json

そして

application/json

回答:


94

メディアタイプapplication/vnd.api+jsonはJSON APIを指します。あなたはそれについて読むことができ、ここで詳細に

要するに、JSON APIは独断的で十分な理由があります。

…クライアントがリソースのフェッチまたは変更を要求する方法、およびサーバーがそれらの要求に応答する方法の仕様。


30
@rmhartogの回答からのこの回答にベンダープレフィックス( `vnd。`)に関する文が含まれているとすばらしいでしょう。
Vasif 2016

vnd@Vasifのためにベンダープレフィックスであることがわかったの説明を探していたため、ここにいます。オリジナルの編集はすばらしいでしょう。
カムエラフランコ

68

1つ目は、API固有のメディアタイプです。ベンダープレフィックス(vnd.)は、このベンダーに対してカスタムであることを示します。+jsonそれはJSONとして解析することができることを示しているが、メディアタイプべき JSONの上にさらに意味論を定義します。

2番目は、コンテンツがJSONであることを意味します。ただし、JSON値の意味が定義されていないため、これは一般的にあまり役に立ちません。

これについて読むための良い出発点はウィキペディアですが、詳細については、そのページの対応するRFCへのリンクをいつでもたどることができます


33

よくわからない場合は、使用してください。これapplication/jsonは、返されるデータが整形式のJSONである必要があるだけの汎用MIMEタイプです。


application/vnd.api+jsonMIMEタイプは、(紛らわしい名前)を使用して通信するために予約され、「JSON API」プロトコル。

この文脈での「JSON APIは」ないない意味任意の HTTPとJSONに基づいたAPIを。これも完全に指定されたAPIではなく、クライアントが相互に関連するエンティティをフェッチして変更できるようにするAPIを構築するためのフレームワークです。たとえば、ブログアプリケーションは、「JSON API」仕様に準拠したAPIを実装できます。これにより、特定の作成者による最新の10件の記事を、1つのHTTPリクエストで各記事のメタデータとコメントとともに取得できます。

仕様では、特に以下を定義しています。

  • リクエストを形成する特定の方法(つまり、どのURLパラメータがソートとページネーションを制御し、出力に含まれるデータか)。
  • 応答内のJSONドキュメントの特定の構造。次に例を示します。

    ドキュメントには、次のトップレベルのメンバーの少なくとも1つが含まれている必要があります。

    • data:ドキュメントの「プライマリデータ」
    • errors:エラーオブジェクトの配列
    • meta:非標準のメタ情報を含むメタオブジェクト。

    メンバーdataerrorsは同じドキュメントに共存してはなりません。


7

MIME(Multipurpose Internet Mail Extensions)のタイプ(または)メディアタイプインターネット上で転送された文書の性質及びフォーマットを示すための標準的な方法です。IETF RFC 6838で標準化されていますIANA(Internet Assigned Numbers Authority)は、すべての公式のMIMEタイプを追跡するための責任者の体です。

JSON APIで使用されるメディアタイプはapplication / vnd.api + jsonで、IANAに正しく登録されています。

API + JSONメディアタイプは、JSONを提供するさまざまなAPI間の相互運用性のためのものです。

「シックJavaScript」クライアントとそのニーズを考慮して作成されましたが、クライアント固有ではありません。したがって、プレフィックスとしてvnd(ベンダー)が付けられます。

JSON APIにいくつかのポイントを追加します:

  • JSON APIは、リクエストとレスポンスの方法とその方法に関するAPI仕様を定義する仕様です。
  • 明確に定義された構造(リソース-関係やリンクなど)を作成できます。
  • REST APIがCRUD操作に対してどのように反応するかを指定します。
  • クライアントが応答をキャッシュできるようにします。

-1

以下のヘッダー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);

それが役に立てば幸い!!


2
これは質問とはまったく関係ありません。
クリスチャン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.