44

質問は、Spring HATEOAS と Spring Data Rest の違いは何ですか?

どちらも同じことができると思います.Spring Data Rest(Spring Dataの一部として)はもう少し生きているようです.

https://github.com/spring-projects/spring-hateoas https://github.com/spring-projects/spring-data-rest

どちらか一方をいつ使用しますか?

4

3 に答える 3

85

Spring HATEOAS は、共通の抽象化 (表現モデル、Linkクラス、Spring MVC コントローラーを指すリンクを作成するための API など) を提供し、一般に Spring MVC を使用してハイパーメディア駆動の REST API を簡単に作成できるようにします。したがって、Spring MVC と一緒に使用して、これらのサービスを手動で構築できます。

Spring Data REST は、Spring HATEOAS を使用して、Spring Data リポジトリによって管理されるエンティティのリソースを自動的に公開し、ハイパーメディアの側面を活用してページネーション、エンティティのリンクなどを行います。したがって、基本的なものの 80% のユース ケースをカバーし、より複雑なプロセスを選択的に追加できます。後で手動で実装されたコントローラーを使用します。

これを実感するには、Spring RESTBucksサンプル プロジェクトを自由にご覧ください。インスタンスの処理はOrder、Spring Data REST によって完全に行われます (ビジネス制約を実装するための微調整がいくつかあります)。注文を完了するには特定の手順とプロトコルを実際に実装する必要があるため、プロセスは CRUD カテゴリに分類されないため、支払いロジック全体が手動で実装されます。繰り返しますが、コードはこちらです。追加のビジュアルを含むスライド デッキは、speakerdeck.comにあります。

于 2013-10-22T11:37:36.157 に答える
2

HATEOAS は Hypermedia as the Engine of Application State の略で、REST の重要なポイントの 1 つです。基本的に重要なポイントは、リソース表現でリンクを使用して、アプリケーション状態の有効な遷移をマップすることです。この場合、リンクを介して到達可能なアプリケーションの有効な次の正しい状態を提供するサービス プロバイダーになります。Spring HATEOAS は、リソースに Hymeridia コントロールを構築するための Spring プロジェクトです。これは Spring MVC と統合されたプロジェクトであり、実際の RESTFull WS を構築するための Spring MVC 拡張機能と考えることができます。これは、サービス フォーム CRUD (リチャードソン モデルの成熟度レベル 2) のレベルを上げるための非常に優れたサポートです。ハイパーメディア対応 (Richardson モデルの成熟度レベル 3)。一方、Spring Data Rest は、Spring HATEOAS を基本ブリックとして使用する非常に優れたプロジェクトであり、restfull ws として使用できるリポジトリ レイヤーを提供します。proctis では、プロジェクトはリポジトリ レイヤーを restfull エンドポイントとして公開するための従来の boliporlent コードを削減するのに役立ちます。これは、プロジェクトの提案が非常に異なっていたと言えます。Spring HATEOAS では、あらゆる種類の restfull エンドポイントに使用できるフレームワークがありました。Spring Data Rest では、既にエンドポイントとそれをカスタマイズするためのフレームワークを提供する Spring プロジェクトがありました。

この考察が、2 つのプロジェクトの違いを明確にし、どちらをどのように使用するかをよりよく理解するのに役立つことを願っています。

于 2016-03-15T21:04:32.567 に答える