每次我用 Pageable 参数调用rest控制器方法时,我都会得到“org.springframework.beans.BeanInstantiationException:无法实例化[org.springframework.data.domain.Pageable]:指定的类是一个接口”。其他控制器方法工作正常。
- 我创建了名为 PaginationConfig 的配置类,在其中实现了 @EnableSpringDataWebSupport 注释。
- 我在 PaginationConfig 类中覆盖 addArgumentResolvers。
- 我将 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 对象。