I have got "org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.data.domain.Pageable]: Specified class is an interface" every time I call rest controller method with Pageable parameter. Others controller methods work fine.
- I have made the configuration class called PaginationConfig in which I implement @EnableSpringDataWebSupport annotation.
- I override addArgumentResolvers in PaginationConfig class.
- I updated swagger springfox from 2.7.0 to 2.9.2 version.
@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);
}
}
When I call this
http://localhost:8000/element/pageable?p=0&s=20
I wanna get normal Page object with proper content.