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

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

举个例子:

服务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");

本文完!

目录
相关文章
|
缓存 NoSQL Java
【JetCache】JetCache的使用方法与步骤
【JetCache】JetCache的使用方法与步骤
7580 1
|
Java API Maven
【现成工具】java获取国家法定节假日包含指定月份节假日和周末
【现成工具】java获取国家法定节假日包含指定月份节假日和周末
3683 0
|
XML JSON 人工智能
Error while extracting response for type [class xxx] and content type application/xml;charset=UTF-8
Error while extracting response for type [class xxx] and content type application/xml;charset=UTF-8
2324 0
|
JSON 负载均衡 Java
SpringCloud Feign 远程调用(史上最详细讲解)
SpringCloud Feign 远程调用(史上最详细讲解)
14750 0
SpringCloud Feign 远程调用(史上最详细讲解)
|
JSON Java Apache
SpringCloud - Feign 调用服务及传递参数踩坑记录(上)
SpringCloud - Feign 调用服务及传递参数踩坑记录(上)
3253 0
|
Java Spring
SpringBoot: 启动Banner在线生成工具
SpringBoot: 启动Banner在线生成工具
36155 1
SpringBoot: 启动Banner在线生成工具
|
SQL Java 数据库连接
sql语句能查询出来,mybatis未查询出结果问题解决
sql语句能查询出来,mybatis未查询出结果问题解决
1203 0
|
JavaScript
蓝易云 - npm install报错问题解决合集
以上是一些常见的npm install错误及其解决方法,希望对你有所帮助。
385 0