feign 为什么不支持 get 传对象,用feign请求参数不对

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

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