Spring Data Rest - Configure pagination

后端 未结 2 1733
暗喜
暗喜 2020-12-18 14:45

Using Spring Data REST with JPA in version 2.1.0.

How can I configure the pagination in order to have the page argument starting at index 1 instead of 0 ?

I

2条回答
  •  独厮守ぢ
    2020-12-18 15:20

    I have configured the RequestMappingHandlerAdapter using a BeanPostProcessor, however I believe that's neither clean, nor elegant. That looks more like a hack. There must be a better way ! I'm giving the code below just for reference.

    public class RequestMappingHandlerAdapterCustomizer implements BeanPostProcessor {
    
        public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
            if (bean instanceof RequestMappingHandlerAdapter) {
                  RequestMappingHandlerAdapter adapter = (RequestMappingHandlerAdapter)bean;
                  List customArgumentResolvers = adapter.getCustomArgumentResolvers();
                  if(customArgumentResolvers != null) {
                      for(HandlerMethodArgumentResolver customArgumentResolver : customArgumentResolvers) {
                          if(customArgumentResolver instanceof HateoasPageableHandlerMethodArgumentResolver) {
                              HateoasPageableHandlerMethodArgumentResolver hateoasPageableHandlerMethodArgumentResolver = (HateoasPageableHandlerMethodArgumentResolver)customArgumentResolver;
                              hateoasPageableHandlerMethodArgumentResolver.setOneIndexedParameters(true);
                          }
                      }
                  }
            }
            return bean;
        }
    
        public Object postProcessBeforeInitialization(Object bean, String beanName)
                throws BeansException {
            return bean;
        }   
    
    }
    
    
      
    
    

提交回复
热议问题