您当前的位置: 首页 > 

杨林伟

暂无认证

  • 3浏览

    0关注

    3337博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

解决Feign远程调用参数里面内容丢失的问题

杨林伟 发布时间:2020-09-14 17:05:17 ,浏览量:3

举个例子:

服务A提供了如下接口(注意这里的参数url是一个地址):

@GetMapping("/getSample")
public String getSample(@RequestParam String url){
	 //此处省略逻辑......
}

服务B需要调用服务A的接口,调用如下:

sampleFeignClient.getSample("http://www.xxx.com?name=dumas&age=18");

提出问题:此时调用服务A接口后,在A服务接收的方法体内,断点会发现后面的参数age=18会丢失。

问题的原因:Feign远程调用是使用HTTP协议的,可能是获取参数的时候,把参数url里面的内容当成了参数,所以直接舍弃了。

解决方法:

  • 服务B调用前,使用URLEncoder.encode(url,"UTF-8");
  • 服务A获取参数后,使用URLDecoder.decode(url, "UTF-8");

本文完!

关注
打赏
1662376985
查看更多评论
立即登录/注册

微信扫码登录

0.0576s