为RESTful服务器配置PageableHandlerMethodArgumentResolver的分页

时间:2017-01-19 00:06:55

标签: java spring rest spring-mvc pagination

我正在使用Spring Boot编写RESTful服务器。我使用Pageable来处理大小和页面参数,我希望请求中的页码1被视为第一页(默认值为0)。这是我的配置:

@Configuration
public class WebConfiguration extends WebMvcConfigurerAdapter {
    // ...

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

让我们举例说明以下参数:?page=1&size=5

如果没有第resolver.setOneIndexedParameters(true);行,服务器将使用5个元素回答第2页(页码从0开始)。

但是当我不知道时,服务器用 4 元素回答第一页(现在页面编号从1开始)(显然我希望我的服务器用5个元素代替4)。依此类推:使用size=6我得到5个元素等等。

我的猜测setOneIndexedParameters会影响页面的大小,但这只是一个废话... Javadoc明确提到它只配置页码。

我错过了什么?谢谢你的帮助。

编辑: Spring Boot版本为1.2.5。RELEASE

0 个答案:

没有答案