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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。