feignclient调用第三方接口,feignclient调用外部接口
目录
使用FeignClient进行微服务交互先写一个公共方法然后写一个假装调用被假装调用的方法如下@FeignClient调用微服务注意事项FeignClient接口不能使用@GettingMapping之类的组合注解FeignClient接口中如果使用到@ PathVariableFeignClient多参数的构造
使用FeignClient进行微服务交互
先写一个公共方法
公共字符串获取设置值(字符串名){ MapString,Object Map=(Map)设置客户端。通过名字获得.get data();返回(字符串)映射。get( value );}
然后写一个Feign调用
@ FeignClient(value= Qiang-admin )公共接口设置客户端{ @请求映射(value=/setting/get setting/{ name } ,method=RequestMethod .GET)公共返回消息GET by name(@ path变量( name )字符串名称);}@FeignClient注解用于指定从哪个服务中调用功能,注意里面的名称与被调用的服务
名保持一致,并且不能包含下划线。
@RequestMapping注解用于对被调用的微服务进行地址映射。注意@路径变量注
解一定要指定参数名称,否则出错。
@路径变量:接口参数
被Feign调用的方法如下
@请求映射(value=/get setting/{ name } ,method=RequestMethod .GET)public return msg GET by name(@ path变量字符串名){ Setting condition=new Setting();condition.setName(名称);ReturnMsg ReturnMsg=new ReturnMsg();设置设置=设置服务。findbycondition(条件);返回消息。设置代码(返回int代码.成功_代码);returnMsg.setData(设置);return returnMsg}
@FeignClient调用微服务注意事项
在初次使用春云,调用微服务的时候,常常会踩坑,这里总结一下,在调用微服务的时候,常犯的几点错误及注意点:
FeignClient接口不能使用@GettingMapping之类的组合注解
@ FeignClient(目标服务器名称)公共接口FeignClient { @ request mapping(value=/simple/{ id } ,method=RequestMethod .获取)公共对象find byid(@ path变量( id )Long id);}这边的@请求映射(value=/simple/{ id } ,method=RequestMethod .获取)不能写成@GetMapping(/simple/{id} )。因为GetMapper是一个组合注解。
FeignClient接口中如果使用到@PathVariable
必须指定其价值
@ FeignClient(目标服务器名)公共接口FeignClient { @ request mapping(value=/simple/{ id } ,method=RequestMethod .获取)公共对象find byid(@ path变量( id )Long id);}这边的@PathVariable(id )中的“id”,不能省略,必须指定。
FeignClient多参数的构造
如果想要请求目标服务器名称服务,并且参数有多个例如:http://目标服务器名称/查询依据?id=用户名=张三要怎么办呢?不能构造一个复杂的对象去接收,必须一个一个接收参数
@ FeignClient(目标服务器名)公共接口UserFeignClient { @ request mapping(value=/query-by ,method=RequestMethod .获取)公共对象queryBy(@RequestParam(id )长id,@RequestParam(用户名)字符串用户名);}以上为个人经验,希望能给大家一个参考,也希望大家多多支持盛行它.
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。