整合
本節詳細介紹了與 Spring Data REST 元件整合的各種方式,無論是來自使用 Spring Data REST 的 Spring 應用程式還是來自其他方式。
程式設計式連結
有時您需要在自己構建的 Spring MVC 控制器中新增指向匯出資源的連結。 有三個基本級別的連結可用
-
手動組裝連結。
-
使用 Spring HATEOAS 的
LinkBuilder
以及linkTo()
,slash()
等。 -
使用 Spring Data REST 的
RepositoryEntityLinks
實現。
第一個建議非常糟糕,應不惜一切代價避免。 它使您的程式碼脆弱且風險很高。 第二個在建立指向其他手寫 Spring MVC 控制器的連結時很方便。 最後一個,我們將在本節的其餘部分中探討,非常適合查詢 Spring Data REST 匯出的資源連結。
考慮以下使用 Spring 自動裝配的類
public class MyWebApp {
private RepositoryEntityLinks entityLinks;
@Autowired
public MyWebApp(RepositoryEntityLinks entityLinks) {
this.entityLinks = entityLinks;
}
}
使用前面示例中的類,您可以使用以下操作
方法 | 描述 |
---|---|
|
提供指向指定型別集合資源的連結(在本例中為 |
|
提供指向單個資源的連結。 |
|
提供指向分頁資源的連結。 |
|
為相應的 repository 公開的所有 finder 方法提供連結列表。 |
|
按 |
所有基於搜尋的連結都支援分頁和排序的額外引數。 有關詳細資訊,請參閱 RepositoryEntityLinks 。 還有 linkFor(Class<?> type) ,但它返回一個 Spring HATEOAS LinkBuilder ,它將您返回到較低級別的 API。 嘗試先使用其他的。 |