集成
本节详细介绍了与 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。 尝试先使用其他的。 |