此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Data REST 4.4.0spring-doc.cn

集成

本节详细介绍了与 Spring Data REST 组件集成的各种方法,无论是从使用 Spring Data REST 的 Spring 应用程序还是从其他方式。spring-doc.cn

有时你需要在你自己定制的 Spring MVC 控制器中添加指向导出资源的链接。有三种基本级别的链接可用:spring-doc.cn

第一个建议很糟糕,应该不惜一切代价避免。它会使您的代码变得脆弱且风险较高。第二个在创建指向其他手写 Spring MVC 控制器的链接时很方便。最后一个(我们将在本节的其余部分讨论)适用于查找由 Spring Data REST 导出的资源链接。spring-doc.cn

考虑以下类,它使用 Spring 的自动装配:spring-doc.cn

public class MyWebApp {

	private RepositoryEntityLinks entityLinks;

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

使用前面示例中的类,您可以使用以下操作:spring-doc.cn

表 1.链接到导出资源的方法
方法 描述

entityLinks.linkToCollectionResource(Person.class)spring-doc.cn

提供指向指定类型的集合资源的链接(在本例中)。Personspring-doc.cn

entityLinks.linkToItemResource(Person.class, 1)spring-doc.cn

提供指向单个资源的链接。spring-doc.cn

entityLinks.linkToPagedResource(Person.class, new PageRequest(…​))spring-doc.cn

提供指向分页资源的链接。spring-doc.cn

entityLinks.linksToSearchResources(Person.class)spring-doc.cn

提供相应存储库公开的所有 finder 方法的链接列表。spring-doc.cn

entityLinks.linkToSearchResource(Person.class, "findByLastName")spring-doc.cn

通过以下方式提供查找器链接(即查找器的名称)。relspring-doc.cn

所有基于搜索的链接都支持用于分页和排序的额外参数。有关详细信息,请参阅 RepositoryEntityLinks 。还有 ,但是它返回一个 Spring HATEOAS ,它将您返回到较低级别的 API。先尝试使用其他的。linkFor(Class<?> type)LinkBuilder