如何修复“ BeanInstantiationException:无法实例化[org.springframework.data.domain.Pageable]:指定的类为接口”错误?

时间:2019-06-10 20:39:12

标签: java spring pagination spring-restcontroller pageable

每次我使用Pageable参数调用rest控制器方法时,我都会收到“ org.springframework.beans.BeanInstantiationException:无法实例化[org.springframework.data.domain.Pageable]:指定的类为接口”。其他控制器方法可以正常工作。

  1. 我制作了一个名为PaginationConfig的配置类,在其中实现了@EnableSpringDataWebSupport注释。
  2. 我在PaginationConfig类中重写addArgumentResolvers。
  3. 我将swagger springfox从2.7.0更新到了2.9.2版本。
@Configuration
@EnableWebMvc
@EnableSpringDataWebSupport
public class PaginationConfig extends SpringDataWebConfiguration {

    @Override
    public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
        PageableHandlerMethodArgumentResolver resolver = new PageableHandlerMethodArgumentResolver(sortResolver());
        resolver.setFallbackPageable(new PageRequest(0, 50));
        resolver.setSizeParameterName("p");
        resolver.setPageParameterName("s");
        argumentResolvers.add(resolver);
        super.addArgumentResolvers(argumentResolvers);
    }
}
@RestController
@RequestMapping("/element")
public class ElementController {

    ...

    @GetMapping("/pageable")
    public Page<Element> getAll(Pageable pageable) {
        return finder.getAll(pageable);
    }
}

当我打电话给这个

http://localhost:8000/element/pageable?p=0&s=20

我想获取具有适当内容的普通Page对象。

0 个答案:

没有答案