Я думаю, что ваш код не работает, потому что вы используете аннотацию @RequestParam
для параметра Pageable
в своем методе Feign.
Моя реализация такого метода работает, как и ожидалось.
Клиент:
@FeignClient(name = "model-service", url = "http://localhost:8080/")
public interface ModelClient {
@GetMapping("/models")
Page<Model> getAll(@RequestParam(value = "text", required = false) String text, Pageable page);
}
Контроллер:
@GetMapping("/models")
Page<Model> getAll(@RequestParam(value = "text", required = false, defaultValue = "text") String text, Pageable pageable) {
return modelRepo.getAllByTextStartingWith(text, pageable);
}
Обратите внимание, что в моем случае, не выставляя PageJacksonModule
как бин, Spring выдал исключение:
InvalidDefinitionException: невозможно создать экземпляр org.springframework.data.domain.Page
Так что мне пришлось добавить его в проект:
@Bean
public Module pageJacksonModule() {
return new PageJacksonModule();
}
Моя рабочая демонстрация: github.com / Cepr0 / sb-feign-client-with-pageable-demo