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

【微服务】feign使用

【微服务】feign使用

  • 引入依赖
  • 启动类配置注解
  • 创建业务层
  • 使用项目调用
  • 可能会遇到的bug

01 引入依赖

  • Feign是Spring Cloud提供的一个声明式的伪Http客户端, 它使得调用远程服务就像调用本地服务一样简单, 只需要创建一个接口并添加一个注解即可。
  • 在需要使用feign的springboot的pom.xml下配置依赖
<!--fegin组件-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

02 springboot启动类配置注解

  • 在被远程调用接口的springboot项目启动类上加@EnableFeignClients注解
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients(basePackages = "com.mashang.tsorder.demos.web.service")//开启Fegin,配置业务类扫描包
public class xxxApplication {}

03 创建业务层

  • 在业务层编写调用接口
  • @FeignClient(“ts-order”),这里写注册中的项目名(“ts-order”),我使用的注册中心是nacos,具体使用是这篇文章nacos的快速使用-CSDN博客
  • 注入控制层
@FeignClient("ts-order")//这里写注册中的项目名
public interface OrderFeignService {//service层的新建接口类//需要完整的路径,controller路径+orderTset接口路径@GetMapping("/order/testOrder")public String orderTset();
}

04 使用项目调用

  • 直接注入OrderFeignService即可正常使用
@RestController
@RequestMapping("/tsUser")
public class TsUserController {@Autowiredprivate OrderFeignService orderFeignService;@GetMapping("/test")public String test(){String s = orderFeignService.orderTset();return "test:"+s;}
}

05 可能会遇到的bug

1.com.netflix.client.ClientException

  • 请检查配置中,这个bug意味着第三步创建业务层有问题,要么是@FeignClient(“ts-order”)和配置中心nacos不同,要么是这个项目没有在nacos中注册,检查配置中心

2.自动注入service失败

  • 请检查TsUserController(使用)对应的springboot启动类配置注解,(basePackages = “com.mashang.tsorder.demos.web.service”)有问题,没有成功扫描到OrderFeignService类

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 独立开发的在线客服系统出海记
  • Codeforces Round 959 (Div. 1 + Div. 2 ABCDEFG 题) 文字讲解+视频讲解
  • 【BUG】已解决:zipfile.BadZipFile: File is not a zip file
  • SeleniumBasic操作运行中的Chrome浏览器
  • 力扣 19删除链表倒数第N个结点
  • 电脑屏幕闪烁?3招教你轻松搞定
  • 恐怖数字暗影:猜中才能逃离
  • FLINK-checkpoint失败原因及处理方式
  • 软件测试09 自动化测试技术(Selenium)
  • 3098. 求出所有子序列的能量和 Hard
  • 农业农村大数据底座:实现智慧农业的关键功能
  • TQSDRPI开发板教程:实现PL端的UDP回环与GPSDO
  • 从零训练一个多模态LLM:预训练+指令微调+对齐+融合多模态+链接外部系统
  • Android车载MCU控制音量和ARM控制音量的区别和优缺点—TEF6686 FM/AM芯片
  • HTTPS 的加密过程 详解
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • 收藏网友的 源程序下载网
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • 大型网站性能监测、分析与优化常见问题QA
  • 马上搞懂 GeoJSON
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 使用Swoole加速Laravel(正式环境中)
  • 我看到的前端
  • 小程序01:wepy框架整合iview webapp UI
  • 用简单代码看卷积组块发展
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • ​ArcGIS Pro 如何批量删除字段
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • # .NET Framework中使用命名管道进行进程间通信
  • ## 基础知识
  • #define 用法
  • #传输# #传输数据判断#
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (02)vite环境变量配置
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (160)时序收敛--->(10)时序收敛十
  • (6)设计一个TimeMap
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (转)iOS字体
  • (转)Unity3DUnity3D在android下调试
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .naturalWidth 和naturalHeight属性,
  • .net Application的目录
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .NET Framework、.NET Core 、 .NET 5、.NET 6和.NET 7 和.NET8 简介及区别
  • .NET企业级应用架构设计系列之技术选型
  • .NET上SQLite的连接