Integration
本部分详细介绍了各种与 Spring Data REST 组件集成的途径,无论是从使用 Spring Data REST 的 Spring 应用程序还是通过其他途径。
Programmatic Links
有时,您需要在自定义构建的 Spring MVC 控制器中向导出的资源添加链接。提供三个基本的链接级别:
-
Manually assembling links.
-
使用 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;
}
}
使用前一个示例中的类,您可以使用以下操作:
Method | Description |
---|---|
|
提供链接到指定的类型集合资源(在本例中为 |
|
Provide a link to a single resource. |
|
提供指向分页资源的链接。 |
|
提供对应存储库公开的所有 Finder 方法的链接列表。 |
|
通过 |
所有基于搜索的链接都支持分页和排序的附加参数。有关详细信息,请参阅 link:https://docs.spring.io/spring-data/rest/docs/current/api/org/springframework/data/rest/webmvc/support/RepositoryEntityLinks.html[ |