我一直在尝试为我的其余 api 公开一个 Feign Client。它采用 Pageable 作为输入并定义了 PageDefaults。
控制器:
@GetMapping(value = "data", produces = MediaType.APPLICATION_JSON_VALUE)
@ApiOperation(value = "Get Data", nickname = "getData")
public Page<Data> getData(@PageableDefault(size = 10, page = 0) Pageable page,
@RequestParam(value = "search", required = false) String search) {
return service.getData(search, page);
}
这是我的假装客户:
@RequestMapping(method = RequestMethod.GET, value = "data")
public Page<Data> getData(@RequestParam(name = "pageable", required = false) Pageable page,
@RequestParam(name = "search", defaultValue = "null", required = false) String search);
现在的问题是,无论我发送给 Feign Client 的页面大小和页码如何,它总是应用 PageDefaults (0,10)。
当我直接调用其余服务时,它可以工作:
我正在使用 Spring Boot 2.1.4.RELEASE 和 Spring Cloud Greenwich.SR1。最近进行了修复以支持可分页(https://github.com/spring-cloud/spring-cloud-openfeign/issues/26#issuecomment-483689346 https://github.com/spring-cloud/spring-cloud-openfeign/issues/26#issuecomment-483689346)。但是我不确定上面的场景是否未被涵盖或者我遗漏了一些东西。