当前位置: 首页 > news >正文

网站建设 千助学生网站作品

网站建设 千助,学生网站作品,相城网页设计报价,河北公司注册网上核名Feign#xff0c;在微服务框架中#xff0c;是的服务直接的调用变得很简洁、简单#xff0c;而不需要再编写Java Http调用其他微服务的接口。 动态feign 对于fegin调用#xff0c;我们一般的用法#xff1a;为每个微服务都创建对应的feignclient接口#xff0c;然后为每…Feign在微服务框架中是的服务直接的调用变得很简洁、简单而不需要再编写Java Http调用其他微服务的接口。 动态feign 对于fegin调用我们一般的用法为每个微服务都创建对应的feignclient接口然后为每个微服务的controller接口一一编写对应的方法去调用对应微服务的接口。 例如下面这样 //system FeignClient(name system) public interface SystemClient {GetMapping(/system/test1)JsonResult test1(String test1);GetMapping(/system/test2)JsonResult test2(String test2);.... }//user FeignClient(name user) public interface UserClient {GetMapping(/user/test1)JsonResult test1(String test1);GetMapping(/user/test2)JsonResult test2(String test2);.... }这样写的话可能会有些累赘那么我们能不能创建一个动态的feign当调用sytem微服务的时候传递一个feignclient的name为system进去然后定义一个通用的方法指定调用的url传递的参数就可以了呢 答案是可以的_ 定义一个通用的接口通用的getpost方法 public interface DynamicService {PostMapping({url})Object executePostApi(PathVariable(url) String url, RequestBody Object params);GetMapping({url})Object executeGetApi(PathVariable(url) String url, SpringQueryMap Object params); }executePostApi(post方法) url表示你要调用微服务的接口url一般来说是对应controller接口的url params为调用该接口所传递的参数这里加了RequestBody那对应的controller接口接收参数也需要加上该注解。 定义一个动态feignclient Component public class DynamicClient {Autowiredprivate DynamicFeignClientFactoryDynamicService dynamicFeignClientFactory;public Object executePostApi(String feignName, String url, Object params) {DynamicService dynamicService dynamicFeignClientFactory.getFeignClient(DynamicService.class, feignName);return dynamicService.executePostApi(url, params);}public Object executeGetApi(String feignName, String url, Object params) {DynamicService dynamicService dynamicFeignClientFactory.getFeignClient(DynamicService.class, feignName);return dynamicService.executeGetApi(url, params);} }executePostApi(post方法) feignName表示需要调用的微服务的名称一般对应application.name例如system url表示你要调用微服务的接口url一般来说是对应controller接口的url params为调用该接口所传递的参数这里加了RequestBody那对应的controller接口接收参数也需要加上该注解。 定义一个动态feignclient工厂类 Component public class DynamicFeignClientFactoryT {private FeignClientBuilder feignClientBuilder;public DynamicFeignClientFactory(ApplicationContext appContext) {this.feignClientBuilder new FeignClientBuilder(appContext);}public T getFeignClient(final ClassT type, String serviceId) {return this.feignClientBuilder.forType(type, serviceId).build();} }主要的作用是帮我们动态的创建一个feignclient对象 好了具体的操作步骤就是上面所说的了是不是很通用了呢_ 通用是通用了那怎么玩呢如何使用 使用的方式也是十分的简单啦_ DynamicClient dynamicClient SpringUtil.getBean(DynamicClient.class); Object result dynamicClient.executePostApi(system, /system/test, new HashMap()); System.out.println(JSONObject.toJSONString(result));先获取到DynamicClient对象然后直接调用executePostApi方法 “system”表示调用微服务的名称一般对应application.name “/system/test”表示调用的url new HashMap()为需要传递的参数 好了这样就实现了一个通用版的feignclient那我们就可以愉快的编写代码了_
http://www.dnsts.com.cn/news/36674.html

相关文章:

  • 用软件建网站石景山安保服务公司电话
  • 郑州巩义网站建设易优cms企业网站管理系统
  • 长沙 外贸网站建设公司价格免费建设一个可以访问的网站
  • 刚成立公司如何做网站wordpress 顶踩插件
  • 监控公司建设网站推广经营范围衡水网站建设的地方
  • 梅河口网站开发wordpress模板QQ评论
  • 爱站工具包的模块有哪些慈溪市住房和城乡建设局网站
  • wordpress如何自动采集网站图片网站设计集团
  • 网站开发只要青岛建站合作
  • 昆山教育平台网站建设大型网站建立
  • 用windows建设网站好吗无锡网络公司有哪些
  • 骑士cms怎么从别的网站采集信息seo快速上排名
  • 外国产品设计网站淘客推广是什么
  • 怎么学习网站开发seo快速推广
  • 社交(sns)网站的完整设计思路网站建设与运营就业
  • 大连企业招聘网站专业设计软件
  • 长春网站优化教程外贸接单十大网站
  • 如何做问卷调查网站网站弄论坛形式怎么做
  • 在线网站代理浏览驻马店市住房和城乡建设局网站
  • 网站推广广告 优帮云wordpress3.0手机版
  • 微信公众号申请网站商城网站制作方案
  • 三亚做网站服务中国对外贸易公司排名
  • 网站建设莱州哪家强?校园网站开发的目的
  • 手机网站一般做多大尺寸wordpress中文页面
  • 保亭整站优化青海省住房和城乡建设厅官方网站
  • 网站开发背景绪论软文推广案例500字
  • 网站建设的意义怎么写房地产微网站
  • 网络公司做的网站被告图片侵权网站开发 策划书
  • 做vi设计的网站企业标准网上备案网站
  • 温州seo建站wordpress找不到jquery