0

Acceptサーバーがリソースのhtmlまたはjsonを返す必要がある場合は、httpヘッダーを使用して分岐することを検討してください。私はちょうど使用することを考えていました:

Accept: application/json

しかし、 GitHub APIをさらに調査して読むと、標準は次のようになります。

Accept: application/vnd.company.app+json

これを行う利点は何ですか?application/json会社とアプリのベンダープレフィックスなしで使用しないのはなぜですか?

4

1 に答える 1

0

主な違いは、application/json が一般的な定義であることです。リクエスト ドキュメントが「application/json」としてフォーマットされているからといって、アプリケーションで引き続き使用できるとは限りません。

ほとんどの場合、サーバー側では、一般的なシリアライゼーション/デシリアライゼーション ライブラリ (Jackson など) によって提供されるものとしてメディア タイプを登録していることに気付くでしょう。期待しているクラスにデシリアライズ可能である場合、例外が発生し、適切に 40x 応答コードに変換されます。

ただし、サーバーとクライアントの両方が同じ言語を話すことを期待していることを確認すると便利です。これはログに記録され、「古い」バージョンの API を期待する外部クライアントから、または互換性のないクライアントとサーバーの組み合わせに関連する内部の問題から、問題を特定するのに役立ちます。

于 2015-12-31T01:41:57.143 に答える