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

@FeignClient注解

1.在启动类上开启Feign功能

不开会提示找不到所需要的bean

Consider defining a bean of type in your configuration
@SpringBootApplication
@EnableFeignClients
public class AuthApplication {public static void main(String[] args) {SpringApplication.run(AuthApplication.class, args);}}

2.编写Feign客户端:

@FeignClient(value = "checkcode" ,fallbackFactory = CheckCodeClientFactory.class)
public interface CheckCodeClient {//来自checkcode模块,checkcodecontroller下的方法@PostMapping(value = "/verify")public Boolean verify(String key, String code);
}

这个客户端主要是基于SpringMVC的注解来声明远程调用的信息,比如:

服务名称:checkcode

熔断降级:CheckCodeClientFactory

请求方式:POST(请求的方法是其他模块中已有的方法,此处的方法的签名体和被调用的方法的签名体一致)

请求路径:/verify

请求参数:key,code

返回值类型:布尔

这样,Feign就可以帮助我们发送http请求,无需自己使用RestTemplate来发送了。


3.熔断方法:

/*** @author YCL* @version 1.0* @description 熔断方法* @date 2023-02-27 15:41*/
@Slf4j
@Component
public class CheckCodeClientFactory implements FallbackFactory<CheckCodeClient> {@Overridepublic CheckCodeClient create(Throwable throwable) {return new CheckCodeClient() {@Overridepublic Boolean verify(String key, String code) {log.debug("调用验证码服务熔断异常:{}",throwable.getMessage());return null;}};}
}

trick:

        如果熔断方法和feign执行失败的返回值一致的话,我们无法区别到底是熔断了,还是feign执行失败了。所以此处return 的是null。而不是布尔类型,注意feign的verify方法的返回值是布尔类型。

http://www.lryc.cn/news/23018.html

相关文章:

  • 一文搞懂如何在 React 中使用 防抖(Debounce)和 节流(Throttle)
  • Airbyte API
  • vue项目使用Electron开发桌面应用
  • std::chrono笔记
  • 接收arp请求并发送回应的实例
  • 【高性能计算】TVM使用TE手动优化矩阵乘法算法解析与代码解读
  • 消息中间件的概念
  • 窃密恶意软件Raccoon最新样本Stealer v2分析
  • 足球俱乐部管理系统
  • 2023上半年数学建模竞赛汇总(比赛时间、难易程度、含金量、竞赛官网)
  • 【python学习笔记】:PHP7 Null合并运算符
  • 数据结构与算法——3.时间复杂度分析1(概述)
  • FPGA学习之日常工作复位电路
  • 【洛谷 P1177】【模板】快速排序 题解(快速排序+指针)
  • Pthon--自动化实用技巧篇--文件目录处理
  • 想招到实干派程序员?你需要这种面试法
  • cesium常见操作:鼠标点击获取对象
  • 【玩转c++】git的安装和使用以及可视化处理
  • 第三阶段02-Mybatis框架
  • 基于超像素的多视觉特征图像分割算法研究
  • mysql的三大日志
  • API接口及社区电子商务化的解释
  • [蓝帽杯 2021]One Pointer PHP
  • 【JAVA】xxl-job服务搭建
  • 毕业设计 基于STM32单片机生理监控心率脉搏TFT彩屏波形曲线设计
  • 【10k~30k的区别】=== 功能测试、自动化测试、性能测试的区别
  • 《MySQL学习》 索引失效的三种特殊情况
  • wafw00f 防火墙探测
  • MySQL学习(1)[参考书籍:mysql是怎么运行的]
  • 用Python制作邮件检测器