Springcloud伪装客户端在Hoxton.SR1下以错误的方式解析参数

问题描述 投票:0回答:1

最近,我将云版本从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并通过“ https://www.oschina.net/?a=1&b=2”传递一个参数“ content”时,伪装调试日志打印:

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

并且接收者得到两个参数:“内容”,“ b”。

期望应该是:

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

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

我认为问题出在伪客户端,它们执行了错误的查询映射解析。反正可以解决这个问题吗?

谢谢。

spring-cloud-feign
1个回答
0
投票

已通过将云版本升级到Hoxton.SR1和Boot verion升级到2.2.5解决了问题。

问题出在假装方面,可以通过更多信息进行跟踪

https://github.com/OpenFeign/feign/issues/1190
© www.soinside.com 2019 - 2024. All rights reserved.