【问题标题】:Springcloud feign client parse params in wrong way under Hoxton.SR1Springcloud feign 客户端在 Hoxton.SR1 下以错误的方式解析参数
【发布时间】:2020-06-29 05:23:46
【问题描述】:

最近,我将云版本从 Edgware.RELEASE 升级到 Hoxton.SR1,遇到了一些问题。 伪装客户端代码来了:

@FeignClient(name = "system-service)
public interface IHelloProxy{
  @RequestMapping(value = "/sysinfo/now", method = RequestMethod.GET)
  public void hello(@RequestParam String content);
}

当调用IHelloProxy并传递一个参数“content”和“https://www.oschina.net/?a=1&b=2”时,feign调试日志打印:

---> GET http://system-service/sysinfo/now?content=https:%2F%2Fwww.oschina.net%2F%3Fa=1&b=2 HTTP/1.1

接收方得到两个参数:“content”,“b”。

期望应该是:

--> GET http://system-service/sysinfo/now?content=https%3A%2F%2Fwww.oschina.net%2F%3Fa%3D1%26b%3D2

接收者也只有一个参数:“内容”

我认为问题出在 feign 客户端,它进行了错误的查询映射解析。反正是要解决这个问题吗?

谢谢。

【问题讨论】:

    标签: spring-cloud-feign


    【解决方案1】:

    通过将云版本升级到 Hoxton.SR1 并将引导版本升级到 2.2.5 解决了问题。

    问题来自于开放的假装,可以跟踪以获取更多详细信息

    https://github.com/OpenFeign/feign/issues/1190
    

    【讨论】:

      猜你喜欢
      • 2017-10-01
      • 2018-03-21
      • 2020-01-14
      • 2016-06-21
      • 2018-01-05
      • 2018-07-22
      • 1970-01-01
      • 2020-01-27
      • 2020-01-12
      相关资源
      最近更新 更多