SpringBoot简单集成OpenFeign
问题
在SpringBoot中简单集成Feign,不想使用Rest Temple了。
步骤
Maven
<properties><spring.cloud-version>2022.0.1</spring.cloud-version></properties>
<dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring.cloud-version}</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>
application.yml
logging:level:com:xxx:xxx:xxx:xxxxClient: DEBUG
spring:cloud:openfeign:autoconfiguration:jackson:enabled: trueokhttp:enabled: trueclient:config:default:connectTimeout: 5000readTimeout: 5000loggerLevel: fullxxxxClient:url: https://api.xxxx.xxxx.com
这里启用了jackson,作为feign的序列化和反序列化解析器;启用了okhttp,默认是没有启用的;连接等待超时时间5秒;读取连接超时时间5秒;日志全部记录下来。xxxxClient为feign中被定义客户端名称。
注意:OpenFeignloggerLevel值,依赖Spring的日志配置,即logging.level.com.xxx.xxx.xxx.xxxxClient。
Spring
Application.java
@SpringBootApplication
@EnableFeignClients
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}}
xxxxClient.java
@FeignClient("xxxxClient")
public interface xxxxClient {@GetMapping(path = "/demo/${xxx.id}")ResVo demoEndpoint();
}
这里主要就是一个Get请求,调用远端服务。注意:@FeignClient("xxxxClient")里面的客户端名称,必须与application.yml文件中保存一致;还有一个点值得关注就是请求路径中的${xxx.id}是读取配置文件中的配置的相关值,类似如下:
xxx:id: 你的配置值
测试
下面是在Spring中尝试使用feign的日志输出:

总结
OpenFeign相比RestTemplate,还是少关心一些事情,例如:不太操心超时的实现,而且,更加容易解决Service的概念。OpenFeign与RestTemplate的对比有点像JdbcTemplate与MyBaits的对比。
参考:
- 1.3. Timeout Handling
- Appendix A: Common application properties
- Feign Logging Configuration
相关文章:
SpringBoot简单集成OpenFeign
问题 在SpringBoot中简单集成Feign,不想使用Rest Temple了。 步骤 Maven <properties><spring.cloud-version>2022.0.1</spring.cloud-version></properties> <dependencyManagement><dependencies><dependency><g…...
dfs(九)字符串的全排列
字符串的排列_牛客题霸_牛客网【牛客题霸】收集各企业高频校招笔面试题目,配有官方题解,在线进行百度阿里腾讯网易等互联网名企笔试面试模拟考试练习,和牛人一起讨论经典试题,全面提升你的技术能力https://www.nowcoder.com/practice/fe6b651b66ae47d7ac…...
别具一格,原创唯美浪漫情人节表白专辑,(复制就可用)(html5,css3,svg)表白爱心代码(1)
别具一格,原创唯美浪漫情人节表白专辑, (复制就可用)(html5,css3,svg)表白爱心代码(1) 一、 前言 回眸之间,丰盈了岁月,涟漪了思绪,轻轻落笔,不写伤痕,不写仇怨,只写岁月…...
Hudi-集成Spark之spark-sql方式
Hudi集成Spark之spark-sql方式 启动spark-sql # 启动spark-sql之前需要先启动Hive的Metastore nohup hive --service metastore & #针对Spark 3.2 spark-sql \--conf spark.serializerorg.apache.spark.serializer.KryoSerializer \--conf spark.sql.catalog.spark_catal…...
快速排序基本原理
快速排序基本原理1.快速排序1.1 基本原理1.2 快速排序执行步骤1.2.1 分区包含步骤1.2.1 分区步骤1.3 快速排序大O记法表示2. 将[0,5,2,1,6,3]进行快速排序 【实战】2.1 第一次分区步骤2.2 第二次分区步骤2.3 第三次分区步骤2.4 第四次分区步骤3.快速排序代码实现1.快速排序 1.…...
Android开发笔记-提纲(连载中....)
文章目录Android概述Android开发学习笔记提纲1. 认识AS开发Android的基础入门知识2. 认识Activity的生命周期和基础使用3. 认识Activity之间的跳转和传值4. 认识Intent以及全局Activity的属性的共享5. 认识Service6. 学习跨应用服务【AIDL通信】Android概述 Android系统框架的四…...
React Native(一)
移动端触摸事件example1:<ButtononPress{() > {Alert.alert(你点击了按钮!);}}title"点我!" />Touchable 系列组件TouchableHighlight 此组件的背景会在用户手指按下时变暗TouchableNativeFeedback 会在用户手指按下时形成类似墨水涟…...
Kotlin 26. Kotlin 如何播放音频文件
Kotlin 如何播放音频文件 文章目录Kotlin 如何播放音频文件1 下载并放置音频文件2 activity_main.xml3 MainActivity.kt1 下载并放置音频文件 我们可以随便下载一个音频文件,比如 alarm.mp3,需要将其放置在 /res/raw/ 路径下。 2 activity_main.xml 这…...
recv和明文收包分析
我们CTRLg 跳到recv 分析收包函数 发现函数会断并且收包函数返回值(收包包长)也会不断变化 那么证明recv是真正的收包函数,游戏没有重新实现该函数 我们只要分析该函数即可 在recv函数执行完毕以后下断 eax是包长,esi28是包指针 我们上2个号,让另外…...
【IVIF的超分重建】
Multimodal super-resolution reconstruction of infrared and visible images via deep learning (基于深度学习的红外和可见光图像多模态超分辨率重建) 提出了一种基于编解码器结构的红外-可见光图像融合方法。图像融合任务被重新表述为保持红外-可见…...
“深度学习”学习日记。--加深网络
2023.2.13 深度学习 是加深了层的深度神经网络的学习过程。基于之前介绍的网络,只需要通过 叠加层, 就可以创建深度网络 之前的学习,已经学习到了很多东西,比如构成神经网络的各种层、参数优化方法、误差反向传播法,…...
2023前端面试总结含参考答案
文章目录1. 父子组件生命周期的执行顺序:2. 原型链:3. promise的理解:4. 数组循环,foreach,filter,map,reduce5. 数组去重,set6. 组件通信方式7. 路由钩子8. 首页首屏加载优化:9. th…...
总览 Java 容器--集合框架的体系结构
前言 我们在讲 Java 的数据类型的时候,单独介绍过数组,数组也确实是开发程序中常用的内存类型之一,不过 Java 内置的数组限制颇多,所以此后扩展出了List这种结构,与之类似的Set、Queue 这些内存中的容器都被放在了 Co…...
即便考分很好也不予录取的研究生复试红线,都是原则性问题
在浙大研究生招生录取政策文件中有这么一句话:坚持“按需招生、全面衡量、择优录取、宁缺毋滥”的原则,以提高人才选拔质量为核心,在确保安全性、公平性和科学性的基础上,做到统筹兼顾、精准施策、严格管理。字字体现出研究生招生…...
Android java创建子线程的几种方法
1.新建一个类继承自Thread,并重写run()方法,并在里面编写耗时逻辑。 1 2 3 4 5 6 7 class ThreadTest extends Thread { Override public void run() { //具体的耗时逻辑代码 } } new ThreadTest().st…...
UVa 11212 Editing a Book 编辑书稿 IDA* Iterative Deepening A Star 迭代加深搜剪枝
题目链接:Editing a Book 题目描述: 给定nnn个(1<n<10)1<n<10)1<n<10)数字,数字分别是1,2,3,...,n1, 2, 3, ...,n1,2,3,...,n,但是顺序是打乱的,你可以选择一个索引区间的数字进行剪切操作。问最少进…...
第一章:unity性能优化之内存优化
目录 前言 unity性能优化之内存的优化 一、unity Analysis工具的使用。 二、内存优化方法 1、设置和压缩图片 2、图片格式 3、动画文件 4、模型 5、RenderTexture(RT) 6、分辨率 7、资源的重复利用 8、shader优化 9、对bundle进行良好的管…...
2023年家族办公室研究报告
第一章 概况 家族办公室最早起源于古罗马时期的大“Domus”(家族主管)以及中世纪时期的大“Domo”(总管家)。现代意义上的家族办公室出现于19世纪中叶,一些抓住产业革命机会的大亨将金融专家、法律专家和财务专家集合…...
Typescript快速入门
Typescript快速入门第一章 快速入门0、TypeScript简介1、TypeScript 开发环境搭建2、基本类型3、编译选项4、webpack5、Babel第二章:面向对象0、面向对象简介1、类(class)2、面向对象的特点3、接口(Interface)4、泛型&…...
如何激励你的内容团队产出更好的创意
对于一个品牌而言,如何创造吸引受众并对受众有价值内容是十分关键的。随着市场数字化的推进,优质的创意和内容输出对一个品牌在市场中有着深远的影响。对于很多内容策划和创作者来说,不断地产出高质量有创意的内容是一件非常有挑战性的事情。…...
STM32G474低功耗模式怎么选?一张图看懂睡眠、停止、待机模式区别与实战选型
STM32G474低功耗模式实战选型指南:从睡眠到待机的全场景决策框架 当你面对一块需要连续工作数月的电池供电设备时,每个微安培的电流都变得至关重要。STM32G474系列作为意法半导体针对高性能低功耗场景推出的微控制器,提供了从轻度睡眠到深度休…...
Qwen3-4B-Instruct-2507问题解决:部署中常见的5个错误及快速修复方法
Qwen3-4B-Instruct-2507问题解决:部署中常见的5个错误及快速修复方法 1. 部署准备与环境检查 在开始部署Qwen3-4B-Instruct-2507模型之前,确保您的环境满足以下基本要求: 硬件配置:推荐使用NVIDIA 4090D显卡(24GB显…...
C++的std--ranges视图缓存
C的std::ranges视图缓存:高效数据处理的现代利器 在C20中,std::ranges库的引入彻底改变了数据处理的范式,其中视图缓存(View Caching)作为一项关键技术,显著提升了代码的性能与可读性。视图缓存允许开发者…...
保姆级教程:手把手教你用万物识别镜像搭建智能图片识别工具
保姆级教程:手把手教你用万物识别镜像搭建智能图片识别工具 1. 准备工作与环境配置 1.1 镜像基本信息介绍 万物识别-中文-通用领域镜像是一个基于cv_resnest101_general_recognition算法构建的预装环境,能够识别超过5万种日常物体。它封装了完整的推理…...
MinerU-Diffusion:文档OCR解码提速3.2倍新方案
MinerU-Diffusion:文档OCR解码提速3.2倍新方案 【免费下载链接】MinerU-Diffusion-V1-0320-2.5B 项目地址: https://ai.gitcode.com/OpenDataLab/MinerU-Diffusion-V1-0320-2.5B 导语 MinerU-Diffusion框架通过将文档OCR重构为逆渲染问题,采用并…...
高效保存微信聊天记录:3步实现永久备份与深度分析完整指南
高效保存微信聊天记录:3步实现永久备份与深度分析完整指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/W…...
音频处理必备:5分钟搞懂IIR和FIR滤波器的区别与应用场景
音频处理必备:5分钟搞懂IIR和FIR滤波器的区别与应用场景 在音乐制作和音频工程领域,滤波器是塑造声音的核心工具之一。无论是调整均衡、消除噪声还是创造特殊音效,都离不开对IIR和FIR这两类滤波器的深入理解。许多刚入门的音频工程师常常困惑…...
3大突破!Linux硬件控制工具彻底解决ASUS ROG笔记本性能释放难题
3大突破!Linux硬件控制工具彻底解决ASUS ROG笔记本性能释放难题 【免费下载链接】asusctl Daemon and tools to control your ASUS ROG laptop. Supersedes rog-core. 项目地址: https://gitcode.com/gh_mirrors/as/asusctl 一、用户痛点场景:Lin…...
OpenClaw网关配置详解:Qwen3-32B镜像的端口与安全设置
OpenClaw网关配置详解:Qwen3-32B镜像的端口与安全设置 1. 为什么需要关注网关配置? 上周我在本地部署Qwen3-32B模型时,遇到了一个尴尬的问题:凌晨3点被安全团队电话叫醒,原因是OpenClaw的测试端口被扫描到异常流量。…...
OpenClaw数据清洗:GLM-4-7-Flash智能修复CSV文件常见问题
OpenClaw数据清洗:GLM-4-7-Flash智能修复CSV文件常见问题 1. 为什么需要自动化数据清洗工具 作为数据分析师,我每天要处理大量来源各异的CSV文件。最头疼的不是分析本身,而是前期数据清洗——编码混乱、日期格式不统一、缺失值扎堆…...
