我正在使用 Spring Boot (2.1.1) 自动创建我的JpaRepository
接口的 HAL REST API。
在大多数情况下,这些接口是空的,例如:
public interface LevelRepository extends JpaRepository<Level, Long> {}
当我打开我的 REST 基本路径时,会生成以下链接levels
:
"levels": {
"href": "http://localhost:8080/admin/levels{?page,size,sort}",
"templated": true
}
当我关注时,http://localhost:8080/admin/levels?size=10
我得到了预期的第 0 页及其 10 个元素。但给定的自我链接是:
"self": {
"href": "http://localhost:8080/admin/levels{&sort}",
"templated": true
}
我本来期望:
http://localhost:8080/admin/levels{?page,size,sort}
或者http://localhost:8080/admin/levels?page=0&size=10{&sort}
我不确定这是错误还是功能?是否有可能获得预期的行为?
我发现了有关该主题的以下问题:在可分页资源上生成自我链接时出错 但是给定的解决方案没有帮助,因为我已经在使用较新的版本。
更多信息(我为什么需要它?)
此行为会中断客户端上的后续链接流。如果用户想直接跳转到页面 X 或者他想改变页面大小,则必须重用原来的链接。不是一个很大的解决方法,但它不如模板和直接遵循给定的自我链接那么好。