これはRESTの説明を求める質問のフォローアップです。
私の回答に対するコメントからわかるように、リソースの最適なメディア表現について、Darrel Millerとちょっとした議論がありました。この質問に至った電子メールでの議論がさらにありました。
Darrel と私の REST に対する理解の主な違いは、データのセマンティックが REST API の一部であるかどうかです。
Darrel は (彼の言葉の私の解釈 :-))、データのセマンティックは REST API の重要な部分であり、そのため、選択されたメディア表現はそれを反映する必要があると考えています。したがって、適切な REST API は次のいずれかを選択する必要があります。
- 多くのクライアントがリソースのセマンティックをネイティブに理解できるように、データを表す ATOM のようなよく知られたメディア。
- application/vdn.mycomany.mymedia のようなアプリ固有のメディア タイプであり、クライアントがこのメディア タイプを理解してリソース データを消費できることを期待します。Application/xml は、メディア タイプのセマンティックを表していないため、適切なリソース表現ではありませんが、クライアントはセマンティックについて詳しく知る必要があります。
一方、REST API は実際のデータ表現とは別のレイヤーであると考えています。API によって公開されるメディア タイプは、リソース データを転送する単なるコンテナーです。データの実際のセマンティックは個別に扱われます。したがって、データを理解していないクライアントでも、REST API を使用できます。Application/xml は、スキーマを理解するクライアントの密結合を可能にすると同時に、スキーマを理解しないクライアントがリソースの基本的な処理を実行できるようにするため、非常に優れたデータ表現です。
したがって、問題は、REST API のデータ セマンティック部分ですか? データのセマンティックを実際に表すリソース表現のメディア タイプのみを選択する必要がありますか?
人々が回答にいくつかの引用を投稿してくれれば、できればロイの男自身から引用していただければ幸いです。:-)