Vel*_*aga 15 spring pagination spring-mvc spring-data-jpa spring-boot
引导(1.4.0)分页的"可分页".它没有任何问题.但默认情况下,页面值从"0"开始,但在前端页面值从"1"开始.那么是否有任何增加值的标准方法而不是手动增加代码中的页码?
public Page<Device> find(DeviceFindCommand deviceFindCommand, Pageable pageable){
//page = 0 //Actual is 0, Expected increment by 1.
}
Run Code Online (Sandbox Code Playgroud)
任何帮助都应该是值得的.
在实施Alan回答有以下问题后,
1)仍然我能够访问返回第一页的零页面(我不知道这是不是问题,但我希望得到更好的清晰度).
HTTP://本地主机:8180/API/V1 /书籍/页= 3&大小= 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
}
Run Code Online (Sandbox Code Playgroud)
2)"数字":2,在响应中总是得到一个小于页码.它应该返回当前页面索引.
Prz*_*wak 11
如果您使用的是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.
Run Code Online (Sandbox Code Playgroud)
但请记住,即使您更改one-indexed-parameter页面响应(PageImpl类)将返回基于零的页码的结果.这可能有点误导.
Spring Boot将使用Spring Data.
您需要配置的Spring Data类如下:
org.springframework.data.web.PageableHandlerMethodArgumentResolver
特别是以下方法:
这将允许您按原样使用当前UI分页,即第一页= 1.
在Boot应用程序中,我认为配置可能类似于:
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
PageableHandlerMethodArgumentResolver resolver = new PageableHandlerMethodArgumentResolver();
resolver.setOneIndexedParameters(true);
argumentResolvers.add(resolver);
super.addArgumentResolvers(argumentResolvers);
}
}
Run Code Online (Sandbox Code Playgroud)
小智 5
Spring 也添加了这个未来。只需在您的配置文件中使 oneIndexed 参数等于 true,分页将从第 1 页开始。默认情况下,它的 false 和分页从 0 开始。
spring.data.web.pageable.one-indexed-parameters=true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16039 次 |
| 最近记录: |