【发布时间】: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 而不是零,我想从零开始分页,我阅读了您的示例,它不是自定义分页值,这是正常分页
标签: java spring spring-boot spring-security spring-data-jpa