feign 为什么不支持 get 传对象,用feign请求参数不对
目录
假装调用接口无法调整get方法假装调用无法获取数据。
00-1010记录今天用springcloud的feign调用接口时踩的坑。
调用的方法是get方法时调用不到接口的问题
1.1.feign调用时,默认的请求方法是post request,所以如果要调用的请求是get request,并且传递参数时有解决方案:
(1)需要给被调用接口上的参数添加@RequestParam注释。
@ request mapping(value="/cust-archives ",method=RequestMethod。GET)公共列表查询(@RequestParam String queryCust,@RequestHeader(name="Range ",required=true)String range)抛出异常;(2)被调用接口的参数直接用restful风格拼接,调用接口的参数增加@PathVariable标注。
(3)使用json传输数据,将RequestBody添加到被调用方法的参数中。
(4)如果需要传递请求头信息,需要给被调用的接口添加一个参数,用@ RequestHeader (name="range ",required=true)进行标注。
例如:
@RequestHeader(name="Range ",required=true)字符串范围
00-1010好像没问题,代码和用户服务一样,但是如果拿不到数据,可以直接调用。
@ post mapping(/getuser byid )BaseResponseUser getuser byid(整数id);最好加上@RequestParam
@ post mapping(/getuser byid )BaseResponseUser getuser byid(@ request param( id )整数id);@RequestParam比@PathVariable差。@PathVariable在启动时会报错,但@RequestParam是沉默的。
以上个人经验,希望能给大家一个参考,也希望大家能支持盛行的IT。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。