1. ホーム
  2. web-services

[解決済み】ODataとRESTのWebサービスの違いについて

2022-04-15 17:43:09

質問

とはどのような違いがあるのでしょうか? OData とREST-ful Webサービスを教えてください。

どのように解決するのですか?

アップデイト 警告:この回答は、OData V4が利用可能になった現在、非常に古くなっています。


私は少し前にこのテーマで記事を書きました。 こちら .

Franciが言ったように、ODataはAtom Pubをベースにしています。 しかし、彼らはいくつかの機能を上に重ね、残念ながらその過程でRESTの制約のいくつかを無視してしまったのです。

ODataサービスのクエリ機能では、利用できない情報、またはレスポンスにリンクされていない情報を基にURIを構築する必要があります。 これは、REST関係者が帯域外情報と呼ぶもので、クライアントとサーバーの間に隠れた結合をもたらすものです。

もう1つの結合は、EDMXメタデータを使用して、エントリコンテンツに含まれるプロパティを定義することによってもたらされるものです。 このメタデータは、$metadataと呼ばれる固定エンドポイントで検出することができます。 この場合も、クライアントはこれを事前に知っている必要があり、発見することはできません。

残念ながら、Microsoftはこれらの重要なデータを記述するためのメディアタイプを作成することに適していなかったため、ODataクライアントは、通信先のサービスと受信するデータについて多くの仮定を立てる必要があります。