【发布时间】:2014-10-19 15:11:53
【问题描述】:
当访问下面的 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 Overhead exceeded 错误,因为返回的结果的行数很大。
@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 进行分页?
【问题讨论】:
-
答案在这里 - [嵌入式资源分页用例][1] [1]:stackoverflow.com/questions/27539550/…
标签: java spring spring-data spring-data-rest