导航: 首页 > 互联网科技 > 怎么整合OpenFeign远程调用 发表于:2025-01-31 作者:千家信息网编辑 千家信息网最后更新 2025年01月31日,这篇文章将为大家详细讲解有关怎么整合OpenFeign远程调用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.Feign 概述Feign声明式客的H 千家信息网最后更新 2025年01月31日怎么整合OpenFeign远程调用这篇文章将为大家详细讲解有关怎么整合OpenFeign远程调用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.Feign 概述Feign声明式客的HTTP客户端,让远程调用更简单。提供了HTTP请求的模板,编写简单的接口和插入注解,就可以定义好HTTP请求的参数、格式、地址等信息整合了Ribbon(负载均衡组件)和Hystix(服务熔断组件),不需要显示使用这两个组件Spring Cloud Feign 在Netflix Feign的基础上扩展了对SpringMVC注解的支持2. 远程调用示例示例:查询用户的学习时长用户微服务passjava-member调用学习微服务passjava-study的方法1.引入openfeign依赖passjava-member和passjava-study项目的pom文件引入openfeign依赖 org.springframework.cloud spring-cloud-starter-openfeign2.StudyTimeController定义远程调用测试方法返回某个用户学习题目的总时长@RequestMapping("/member/list/test")public R memberStudyTimeTest() { StudyTimeEntity studyTimeEntity = new StudyTimeEntity(); studyTimeEntity.setTotalTime(100); // 学习时长:100分钟 studyTimeEntity.setQuesTypeId(1L); // 题目类型:1 (javaBasic) return R.ok().put("studyTime", Arrays.asList(studyTimeEntity));}3.member目录下创建feign service创建package: com.jackson0714.passjava.member.feign创建StudyTimeFeignService接口添加注解@FeignClient。显示声明这个接口用来远程调用study服务。@FeignClient("passjava-study")publicinterface StudyTimeFeignService {}添加远程调用方法public R memberStudyTime();给方法添加要远程调用的方法的路径study/studytime/member/list/test@RequestMapping("study/studytime/member/list/test")public R getMemberStudyTimeListTest();添加注解@EnableFeignClients开启远程调用服务。给类PassjavaStudyApplication.java添加注解@EnableFeignClients。basePackages代表自动扫码指定路径下所有带有@FeignClient注解的接口。@EnableFeignClients(basePackages = "com.jackson0714.passjava.member.feign")@EnableDiscoveryClient@MapperScan("com.jackson0714.passjava.member.dao")@SpringBootApplicationpublicclass PassjavaMemberApplication { public static void main(String[] args) { SpringApplication.run(PassjavaMemberApplication.class, args); }}测试接口启动passjava-member和passjava-study服务用postman工具或浏览器输入请求地址http://localhost:10000/member/member/studytime/list/test返回结果如下图studytime和member都有数据。学习时长:100分钟,昵称:悟空聊架构接口测试结果4.测试OpenFeign传参示例:用户id作为参数在服务间传递MemberController@RequestMapping("/studytime/list/test/{id}")public R getMemberStudyTimeListTest(@PathVariable("id") Long id) { //mock数据库查到的会员信息 MemberEntity memberEntity = new MemberEntity(); memberEntity.setId(id); // 学习时长:100分钟 memberEntity.setNickname("悟空聊架构"); //远程调用拿到该用户的学习时长(学习时长是mock数据) R memberStudyTimeList = studyTimeFeignService.getMemberStudyTimeListTest(id); return R.ok().put("member", memberEntity).put("studytime", memberStudyTimeList.get("studytime"));}StudyTimeFeignService@FeignClient("passjava-study")publicinterface StudyTimeFeignService { @RequestMapping("study/studytime/member/list/test/{id}") public R getMemberStudyTimeListTest(@PathVariable("id") Long id);}StudyTimeController@RequestMapping("/member/list/test/{id}")public R memberStudyTimeTest(@PathVariable("id") Long id) { StudyTimeEntity studyTimeEntity = new StudyTimeEntity(); studyTimeEntity.setTotalTime(100); // 学习时长:100分钟 studyTimeEntity.setQuesTypeId(1L); // 题目类型:1 (javaBasic) return R.ok().put("studytime", Arrays.asList(studyTimeEntity));}3.总结FeignClient使用方法引入OpenFeign依赖定义FeignClient接口类(注解 @FeignClient),声明这个接口类是用来远程调用其他服务的接口类中定义要远程调用的接口方法,指定远程服务方法的路径Controller类中调用接口方法开启远程调用(注解 @EnableFeignClients)关于怎么整合OpenFeign远程调用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。 很赞哦! 接口 方法 学习 服务 时长 注解 用户 测试 整合 数据 示例 组件 路径 信息 内容 参数 地址 文章 更多 架构 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 沈阳鑫华科技互联网学校 沧州多媒体软件开发 天擎提示网络安全防护未开启 服务器本机怎么访问网站 列队处理数据库与缓存 腾讯游戏服务器更新 北京展招网络技术有限公司 甘肃惠普服务器维修价格 水资源统计数据库 厦门地区养老软件开发 数据库搭建多少台集群 实现服务器安全巡检管理 晋享团购互联网科技招聘文员 北京守灯网络技术 江苏安卓软件开发费用是多少 网络安全对电子商务重要性 软件开发的周期控制 河北麟融网络技术有限公司 桐乡朗松科技找软件开发吗 四川物保宝网络技术有限公司 sql配置服务器 沧州多媒体软件开发 软件开发常用方法 金华本恩网络技术有限公司 服务器上的图片会关联吗 重庆软件开发集团 共同打造良好的网络安全大生态 网络安全威胁的手段 提供同行评审的数据库 dcs数据库相关资料大全 扫描关注千家信息网微信公众号,第一时间获取内容更新动态 转载请说明来源于"千家信息网" 本文地址:https://www.qianjiagd.com/a191047 上一篇 Revit怎么布置支吊架 这篇文章主要介绍了Revit怎么布置支吊架的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Revit怎么布置支吊架文章都会有所收获,下面我们一起来看看吧。--------- 下一篇 创意RNN和深度RNN怎么实现 这篇文章主要讲解了"创意RNN和深度RNN怎么实现",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"创意RNN和深度RNN怎么实现"吧!1. 创意RNN经 相关文章 搭建zoopker+hbase 环境 版本控制系统(git + gitolite) 【新梦想老师分享】分布式锁的正确"姿势" 如何搭建母婴社区 spring通过profile实现开发和测试环境切换 最新2.7版本丨DataPipeline数据融合产品最新版本 串口调试助手,VB6.0开发 七、flink--异步IO 团队转型之痛之悟 Oracle 和 MySQL 的 JDBC 到底有多慢?