誰かが以下の違いを説明できますか?
application/vnd.api+json
そして
application/json
メディアタイプapplication/vnd.api+json
はJSON APIを指します。あなたはそれについて読むことができます 詳細はこちら 。
要するに、JSON APIは意見があり正当な理由があります:
…クライアントがリソースの取得または変更を要求する方法、およびサーバーがそれらの要求に応答する方法の仕様。
1つは、API固有のメディアタイプです。ベンダープレフィックス(vnd.
)は、このベンダーに対してカスタムであることを示します。 +json
は、JSONとして解析できることを示しますが、メディアタイプshouldはJSONの上にさらなるセマンティクスを定義します。
2番目は、コンテンツがJSONであることを意味します。ただし、JSON値の意味が定義されていないため、これは一般的にあまり役に立ちません。
これについて読むのに適した出発点は Wikipedia ですが、詳細については、そのページの対応するRFCへのリンクをいつでも参照できます。
よくわからない場合は、application/json
を使用してください。返されるデータのみを要求する汎用MIMEタイプです 整形式JSON 。
application/vnd.api+json
MIMEタイプは、(紛らわしい名前の) "JSON API" プロトコルを使用した通信用に予約されています。
このコンテキストの「JSON API」は、notHTTP(およびJSON)に基づくanyAPIを意味します。これも完全に指定されたAPIではありません-むしろ、クライアントが相互に関連するエンティティを取得および変更できるAPIを構築するためのframeworkです。たとえば、ブログアプリケーションは、「JSON API」仕様に準拠したAPIを実装できます。これにより、1つのHTTPリクエストで、各記事のメタデータとコメントとともに、特定の著者による最新の10件の記事を取得できます。
仕様では、特に以下を定義しています。
ドキュメントには、次のトップレベルメンバーの少なくとも1つが含まれている必要があります。
data
:ドキュメントの「プライマリデータ」errors
:エラーオブジェクトの配列meta
:非標準のメタ情報を含むメタオブジェクト。メンバー
data
とerrors
は、同じドキュメントに共存してはいけません。
MIME(Multipurpose Internet Mail Extensions)type(または)メディアタイプは、インターネット経由で転送されるドキュメントの性質と形式を示す標準化された方法です。 IETF RFC 6838 で標準化されています。 Internet Assigned Numbers Authority(IANA)は、すべての公式MIMEタイプの追跡を担当する公式機関です。
JSON API で使用されるメディアタイプは application/vnd.api + json であり、IANAに適切に登録されています。
API + JSONメディアタイプは、JSONを提供するさまざまなAPI間の相互運用性のためです。
「厚いJavaScript」クライアントとそのニーズを考慮して作成されましたが、特定のクライアントではありません。そのため、vnd
(ベンダー)のプレフィックスが付きます。
JSON APIにさらにポイントを追加する:
以下のヘッダーをセットアップする必要がある場合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);
それが役に立てば幸い!!