java - SpringDataREST 响应缺少分页信息

标签 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);
}

最佳答案

在文档中找到:

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

所以我的界面应该是:

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

关于java - SpringDataREST 响应缺少分页信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39133773/

相关文章:

angularjs - AngularJS 自定义响应头的 Access-Control-Expose-Headers 配置

javascript - Nette PHP 框架和带有 token 认证的 RESTful API

json - 为同一个请求返回不同的 JSON 结果——这是否违反了 REST?

java - 按下按钮时数据未写入 Firebase

Spring Boot application.properties hibernate.generate_statistics

java - 如何在 Spring RestTemplate 中自定义自动编码(marshal)处理以生成/修改 XML header (编码、DOCTYPE)

web-services - 使用 CodeIgniter API 进行身份验证

java - 如何修复Java中的LazyInitializationException?

Java Swing 鼠标监听器不工作

java - 没有 scriptlet 的 JSP onload 调用 servlet