在第1页将Spring Data Rest重新配置为索引

cod*_*ode 2 spring-mvc spring-data-rest spring-boot

我以为我已经想到这个,但设置似乎没有改变索引. setOneIndexedParameters(true)

@Configuration
@EnableWebMvc
public class WebMvcConfig extends WebMvcConfigurerAdapter {

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

.... other config stuff
Run Code Online (Sandbox Code Playgroud)

预期的结果是,http://localhost:8080/api/text?page=0&size=20它将改为http://localhost:8080/api/text?page=1&size=20初始页面,而不是弹簧数据休息的基本URL .

我这样做是正确的还是这个错误?

cod*_*ode 6

答案就在这里Spring Data Rest - 配置分页

我将配置移动到扩展 RepositoryRestMvcConfiguration

@Configuration
class CustomRestMvcConfiguration extends RepositoryRestMvcConfiguration {

    @Override
    @Bean
    public HateoasPageableHandlerMethodArgumentResolver pageableResolver() {

        HateoasPageableHandlerMethodArgumentResolver resolver = super.pageableResolver();
resolver.setOneIndexedParameters(true);
return resolver;
    }
}
Run Code Online (Sandbox Code Playgroud)