用feign请求参数不对,feign调用超时但是处理成功

  用feign请求参数不对,feign调用超时但是处理成功

  

目录

假参数调用了太多失败的错误消息。这个错误的原因是给出了两种解决方案。假装多参数传输踩踏记录场景。现在问题是解决方案。

 

  

feign参数过多调用失败

 

  

错误信息

JSON解析错误:非法字符((CTRL-CHAR,code 31)):标记之间只允许常规空格(r,n,t)

 

  当通过feign调用其他服务时,会报告上述错误。传入参数少的时候没有错误,传入参数多的时候会自动取hystrix fuse。

  通过层层调查

  

报这个错误的原因是因为

JSON 解析错误:非法字符((CTRL-CHAR,代码 31)):令牌之间只允许使用常规空格(r、n、t)...

 

  Json解析错误。我开始想到用一个实体类来接收对面返回的参数,所以报了这个错误。我会用一个对象来接收它。

  但是结果显示还是会使用fuse,然后用map接收返回参数,还是一样的。后来百度查了一下,需要配置feign,取消压缩。

  我试过了。没用。最后上百度说传输的数据是压缩的。只需添加feign的配置,移除压缩限制即可。但还是没用。无奈之下,只能咨询同事。

  00-1010第一种:收缩被叫方返回数据(我只是用这个方法,但这个方法不是长久之计)

  使用第二种:s本地http请求相反的api。网上有很多工具包。

  00-1010真是个大日子。在网上看了很多feign的博客,找不到基本类型和实体类的处理方法。写在这里,该死的。

  00-1010如果现在有寻呼请求,前端给我们用户端的参数如下:

  int类型的PageNum,表示int类型的pageSize,表示每页的数据条数和实体类的相关参数。然后我们使用百里叶,所以我们需要一个模型将分页相关的参数返回到前端。

  00-1010我准备把pageNum,pageSize,entity class传给服务器,让他把分页结果的相关参数给我。

  

给出了两种解决办法

1. 消费端controller:

 

  这里的参数怎么接收?

  2. 消费端feign接口对应方法:

  将@RequestParam添加到两个int类型的数据中,将@ request body3. 服务端controller:添加到实体类中。

  与假装接口方法一样

  将@RequestParam添加到两个int类型的数据中,将@RequestBody添加到实体类中,最终不会报告错误xdm。

  以上个人经验,希望能给大家一个参考,也希望大家能支持盛行的IT。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: