feign get请求,feign调用参数传不过去

  feign get请求,feign调用参数传不过去

  00-1010get请求不支持对象传递的问题。解决问题的方法:分析feign发送GET请求时遇到的坑问题的原因,加上@RequestParam,问题解决了。

  

目录

 

  

GET请求不支持对象传参

@ get mapping(/getByParam )String hello(Student Student)抛出异常;如上所述,feign调用报告了一个错误500。

 

  00-1010添加@SpringQueryMap

  @ get mapping(/getByParam )String hello(@ SpringQueryMap Student Student)引发异常;

  

问题

解决方法

@ request mapping(value=/test ,method=RquestMethod。GET)结果getA(字符串id);如上,在请求模式下调用此方法来报告错误post错误,请使用get。

 

  

feign发get请求遇到的坑

feign将get方法转换为post,导致错误。

 

  这个问题的主要原因是Feign的默认连接工具实现类。发现只要你有对应的body对象,就会强制把GET请求转换成POST请求。

  当Feign源代码用@FeignClient注释解析接口时,当创建代理对象时,当代理对象用@RequestParam注释解析参数时,会将参数增强为url,而不是作为body传递。

  00-1010修改后的代码如下。

  @RequestMapping(value=/test ,method=RquestMethod。GET)结果getA(@ request param String id);以上个人经验,希望能给大家一个参考,也希望大家能支持盛行的IT。

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

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