【发布时间】:2017-06-04 07:32:52
【问题描述】:
我有一个 Spring Clound Feign Client 映射定义如下
@RequestMapping(method = RequestMethod.GET, value = "/search/findByIdIn")
Resources<MyClass> get(@RequestParam("ids") List<Long> ids);
当我打电话时
feignClient.get(Arrays.asList(1L,2L,3L))
根据我在调试器中看到的,feign-core 库形成以下请求:
/search/findByIdIn?ids=1&ids=2&ids=3
而不是预期
/search/findByIdIn?ids=1,2,3
这对于以与我的 Feign 客户端方法相同的方式声明的服务器 Spring Data REST 端点是正确的。
因此,由于这个问题,请求总是返回空集。
我看到过类似的 question,但看起来 Feign 客户端在 2015 年就像我预期的那样工作。
我正在使用:
- spring-cloud-starter-feign 版本 1.2.4.RELEASE
- feign-httpclient 9.4.0 版
- feign-core 版本 9.4.0
有没有办法纠正这种行为并将 Spring Cloud Feign Client 与 Spring Data REST 定义的端点“结合”?
【问题讨论】:
-
这可能会影响github.com/spring-cloud/spring-cloud-netflix/issues/1526。你可以试试 Dalston.SNAPSHOT,它引入了 spring-cloud-netflix 1.3.0.BUILD-SNAPSHOT。如果没有,你应该打开一个问题。
-
@spencergibb 确实是这样的行为:github.com/spring-cloud/spring-cloud-netflix/issues/1634
-
另请参阅示例项目:github.com/abinet/demo
标签: spring-cloud spring-cloud-netflix netflix-feign spring-cloud-feign feign