統合
このセクションでは、Spring Data REST を使用している Spring アプリケーションから、または他の手段から、Spring Data REST コンポーネントと統合するさまざまな方法について詳しく説明します。
プログラマティックリンク
独自のカスタムビルド Spring MVC コントローラーにエクスポートされたリソースへのリンクを追加する必要がある場合があります。使用可能なリンクには、次の 3 つの基本レベルがあります。
リンクを手動で組み立てます。
Spring HATEOAS の
LinkBuilder
をlinkTo()
、slash()
などと一緒に使用します。Spring Data REST の
RepositoryEntityLinks
(Javadoc) の実装を使用します。
最初の提案はひどいものであり、何としてでも避けるべきです。これにより、コードがもろくなり、リスクが高くなります。2 つ目は、他の手書きの Spring MVC コントローラーへのリンクを作成するときに便利です。このセクションの残りの部分で検討する最後のものは、Spring Data REST によってエクスポートされたリソースリンクを検索するのに適しています。
Spring のオートワイヤーを使用する次のクラスについて考えてみます。
public class MyWebApp {
private RepositoryEntityLinks entityLinks;
@Autowired
public MyWebApp(RepositoryEntityLinks entityLinks) {
this.entityLinks = entityLinks;
}
}
前の例のクラスでは、次の操作を使用できます。
メソッド | 説明 |
---|---|
| 指定された型(この場合は |
| 単一のリソースへのリンクを提供します。 |
| ページングされたリソースへのリンクを提供します。 |
| 対応するリポジトリによって公開されているすべてのファインダーメソッドのリンクのリストを提供します。 |
|
|
すべての検索ベースのリンクは、ページングと並べ替えのための追加のパラメーターをサポートしています。詳細については、RepositoryEntityLinks (Javadoc) を参照してください。linkFor(Class<?> type) もありますが、これは Spring HATEOAS LinkBuilder を返します。これにより、下位レベルの API に戻ります。最初に他のものを使用してみてください。 |