缺少SpringDataREST响应的分页信息

时间:2016-08-24 22:09:46

标签: java spring rest spring-data-rest

有没有办法在SpringDataREST搜索资源响应中包含页面对象?

示例:

http://localhost:8080/api/users

返回漂亮的分页对象:

page" : {
    "size" : 20,
    "totalElements" : 163,
    "totalPages" : 9,
    "number" : 0
  }

但是

http://localhost:8080/api/users/search/findByNameContainingOrEmailContaining?name=&email=&size=2&page=20

响应时不返回paging个对象。

我的存储库:

package br.com.biec.security;

import org.springframework.data.domain.Pageable;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;

import java.util.List;

public interface UserRepository extends PagingAndSortingRepository<User, Long> {
    public User findByName(@Param("name") String name);
    public List<User> findByNameContainingOrEmailContaining(
            @Param("name") String name,
            @Param("email") String email,
            Pageable p);
}

1 个答案:

答案 0 :(得分:1)

在docs中找到:

要在您自己的查询方法中使用分页,您需要更改方法签名以接受其他Pageable参数,返回页面而不是列表

所以我的界面应该是:

public Page<User> findByNameContainingOrEmailContaining(
            @Param("name") String name,
            @Param("email") String email,
            Pageable p);