這是我目前PageableResolver:Spring PageableArgumentResolver已棄用,如何使用PageableHandlerMethodArgumentResolver?
@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
PageableArgumentResolver resolver = new PageableArgumentResolver();
resolver.setFallbackPageable(new PageRequest(1, 5));
argumentResolvers.add(new ServletWebArgumentResolverAdapter(resolver));
}
但PageableArgumentResolver已被棄用,並鏈接到PageableHandlerMethodArgumentResolver,我想我們可以在沒有適配器註冊,像這樣:
@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
PageableHandlerMethodArgumentResolver resolver = new PageableHandlerMethodArgumentResolver();
resolver.setFallbackPageable(new PageRequest(0, 5));
argumentResolvers.add(resolver);
}
首先新類PageableHandlerMethodArgumentResolver的實現有點不同,因爲new PageRequest(1, 5)
引用了2.頁面,所以我必須使用new PageRequest(0, 5)
才能顯示第一頁。
但我仍然有這個新對象的問題。當我調用沒有參數的URL時(無論page.page還是page.size),分頁欄的第一次加載是完美的。然後,當我想要在分頁欄上移動時,我們使用2個參數調用相同的url(例如,page.page = 3 & page.size = 5),但仍顯示第一頁。我認爲這個新的Resolver需要的不僅僅是這兩個參數,所以它不會激活回退條件。你有任何想法如何使用這個PageableHandlerMethodArgumentResolver?
這似乎並不工作設置此setOneIndexedParameters爲true。查看參數解析器的文檔,它說:「使用此選項不會覆蓋解析處理器方法參數的內置支持。要直接定製對參數解析的內置支持,請配置RequestMappingHandlerAdapter。」 – jplandrain
請參閱http://stackoverflow.com/questions/23521280/spring-data-rest-configure-pagination – jplandrain