当访问以下 URL 时,我会收到分页响应
/api/userPosts/
{
"_links" : {
"self" : {
"href" : "/api/userPosts{?page,size,sort}",
"templated" : true
},
"next" : {
"href" : api/userPosts?page=1&size=20{&sort}",
"templated" : true
}
},
"_embedded" : {
"userPosts" : [ {
...
但是,当访问以下 URL 时,Spring Data REST 没有开箱即用的分页 -
/api/users/4/userPosts
{
"_embedded" : {
"userPosts" : [ {
UserRepository 和 UserPostRepository 都是带分页功能的 JPARepository。因此,第二个 URL 会抛出 GC 开销超出错误,因为返回结果的行数很大。
@RepositoryRestResource(excerptProjection = UserProjection.class)
public interface UserRepository extends BaseRepository<User, Integer>, UserRepositoryCustom {
}
public interface UserPostRepository extends BaseRepository<UserPost, Long> {
}
@NoRepositoryBean
public interface BaseRepository<T, N extends Serializable> extends JpaRepository<T, N>, QueryDslPredicateExecutor<T> {
}
有什么办法也可以使用第二个 URL 进行分页吗?