Как исправить ошибку «BeanInstantiationException: не удалось создать экземпляр [org.springframework.data.domain.Pageable]: указанный класс является интерфейсом»? - PullRequest
0 голосов
/ 10 июня 2019

У меня "org.springframework.beans.BeanInstantiationException: не удалось создать экземпляр [org.springframework.data.domain.Pageable]: указанный класс является интерфейсом" каждый раз, когда я вызываю метод контроллера rest с параметром Pageable. Другие методы контроллера работают нормально.

  1. Я создал класс конфигурации PaginationConfig, в котором я реализую аннотацию @EnableSpringDataWebSupport.
  2. Я переопределяю addArgumentResolvers в классе PaginationConfig.
  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 с правильным содержимым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...