如何从第 1 页开始配置 Spring boot 分页,而不是 0

新手上路,请多包涵

boot(1.4.0) “Pageable” 用于分页。它工作正常没有任何问题。但默认情况下页面值从“0”开始,但在前端页面值从“1”开始。那么是否有任何标准方法来增加值而不是手动增加代码中的页码?

 public Page<Device> find(DeviceFindCommand deviceFindCommand, Pageable pageable){
//page = 0 //Actual is 0, Expected increment by 1.
}

任何帮助都应该是可观的。

实施 艾伦 回答后有以下问题,

1)我仍然可以访问返回第一页的零页(我不知道这是否是问题,但我想更清楚)。

http://localhost:8180/api/v1/books/?page=3&size=2

回复

{
    "content": [
{
  "id": "57da9eadbee83fb037a66029",
  .
  .
  .
}{
.
.
.
}
],
    "last": false,
    "totalElements": 5,
    "totalPages": 3,
    "size": 2,
    "number": 2, //strange always getting 1 less than page number.
    "sort": null,
    "first": true,
    "numberOfElements": 2
}

  1. “number”: 2, 在响应中总是比页码少一。它应该返回当前页索引。

原文由 VelNaga 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
1 个回答

如果您使用的是 Spring Boot 2.X,您可以从 WebMvcConfigurerAdapter 切换到应用程序属性。有一组属性可以配置可分页:

 # DATA WEB (SpringDataWebProperties)
spring.data.web.pageable.default-page-size=20 # Default page size.
spring.data.web.pageable.max-page-size=2000 # Maximum page size to be accepted.
spring.data.web.pageable.one-indexed-parameters=false # Whether to expose and assume 1-based page number indexes.
spring.data.web.pageable.page-parameter=page # Page index parameter name.
spring.data.web.pageable.prefix= # General prefix to be prepended to the page number and page size parameters.
spring.data.web.pageable.qualifier-delimiter=_ # Delimiter to be used between the qualifier and the actual page number and size properties.
spring.data.web.pageable.size-parameter=size # Page size parameter name.
spring.data.web.sort.sort-parameter=sort # Sort parameter name.

但请记住,即使您更改了 one-indexed-parameter 页面响应( PageImpl 类)将返回从零开始的页码的结果。这可能有点误导。

原文由 Przemek Nowak 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题