0

每次我用 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 对象。

4

0 回答 0