Spring Boot 版本 2.0.3.RELEASE 中的分页不起作用

Posted

技术标签:

【中文标题】Spring Boot 版本 2.0.3.RELEASE 中的分页不起作用【英文标题】:Pagination in springboot version 2.0.3.RELEASE not working 【发布时间】:2019-02-05 08:55:40 【问题描述】:

我尝试了很多方法来编辑 Spring Boot 中的默认分页值以从索引 1 开始而不是零

我的应用包含 spring-security-oauth2 ,spring-data 依赖项

1 - 这种方式不起作用

@Configuration                                                                       
public class WebConfig extends WebMvcConfigurerAdapter 


    @Override
    public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) 
        PageableHandlerMethodArgumentResolver resolver = new PageableHandlerMethodArgumentResolver();
        resolver.setOneIndexedParameters(true);
        resolver.setFallbackPageable(new PageRequest(1, 20));
        argumentResolvers.add(resolver);
        super.addArgumentResolvers(argumentResolvers);
    

2- 在 application.yml 中添加此属性不起作用

spring.data.web.pageable.one-indexed-parameters=true

我只需要从 page=1 开始分页

赞这个网址http://localhost:8080/api/v1/articles/page?page=1 [应该返回首页]

不是 http://localhost:8080/api/v1/articles/page?page=0 [应该返回空内容]

【问题讨论】:

你确定你走对了吗?这是一个理论上有效的 example 没有 PageableHandlerMethodArgumentResolver 我需要自定义页面参数的默认值,我需要以 1 而非零开始分页 我会坚持我发送给你的例子,我会操纵请求(操纵解析的 Pageable 对象或(如果不可能的话)或manipulating the request 直接使用servletfilter或弹簧filter) 在我调用存储库之前。在这种形式下,您不必绕过建议的分页解决方案。 This 是另一种解决方案,这次使用普通的 JPARepository,没有 PageableHandlerMethodArgumentResolver 对不起,我想从前端页面发送参数 1 而不是零,我想从零开始分页,我阅读了您的示例,它不是自定义分页值,这是正常分页 【参考方案1】:

我正在使用@EnableSpringDataWebSupport

spring.data.web.pageable.default-page-size: 50
spring.data.web.pageable.max-page-size: 500

但这对我不起作用

【讨论】:

以上是关于Spring Boot 版本 2.0.3.RELEASE 中的分页不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot与Spring Cloud技术选型版本对应关系

Spring Boot Spring Boot 2.x 版本 CacheManager 配置方式

找 : spring boot 版本依赖 spring cloud管理的版本

Spring Boot,Spring Cloud,Spring Cloud Alibaba 版本选择说明以及整理归纳

什么是 Spring Boot 版本控制约定?

spring-boot 使用啥版本的 Jackson?