整合

本節詳細介紹了與 Spring Data REST 元件整合的各種方式,無論是從使用 Spring Data REST 的 Spring 應用程式還是透過其他方式。

有時,您需要在自己自定義的 Spring MVC 控制器中嚮導出的資源新增連結。有三種基本級別的連結可用:

第一個建議很糟糕,應該不惜一切代價避免。它使您的程式碼脆弱且風險高。第二個在建立指向其他手寫 Spring MVC 控制器的連結時很方便。最後一個,我們將在本節的其餘部分進行探討,適用於查詢由 Spring Data REST 匯出的資源連結。

考慮以下使用 Spring 自動裝配的類:

public class MyWebApp {

	private RepositoryEntityLinks entityLinks;

	@Autowired
	public MyWebApp(RepositoryEntityLinks entityLinks) {
		this.entityLinks = entityLinks;
	}
}

使用上例中的類,您可以執行以下操作:

表 1. 連結到匯出資源的方法
方法 描述

entityLinks.linkToCollectionResource(Person.class)

提供指向指定型別(本例中為 Person)的集合資源的連結。

entityLinks.linkToItemResource(Person.class, 1)

提供指向單個資源的連結。

entityLinks.linkToPagedResource(Person.class, new PageRequest(…​))

提供指向分頁資源的連結。

entityLinks.linksToSearchResources(Person.class)

提供相應儲存庫公開的所有查詢器方法的連結列表。

entityLinks.linkToSearchResource(Person.class, "findByLastName")

透過 rel(即查詢器的名稱)提供查詢器連結。

所有基於搜尋的連結都支援分頁和排序的額外引數。詳情請參閱 RepositoryEntityLinks。還有 linkFor(Class<?> type),但它返回一個 Spring HATEOAS LinkBuilder,這會將您帶回較低級別的 API。請優先嚐試使用其他方法。
© . This site is unofficial and not affiliated with VMware.