Spring Cloud学习笔记(Feign):配置类(未完成)

这是本人学习的总结,主要学习资料如下
- 马士兵教育

  • 1、给Feign配置的方式
    • 1.1、通过Bean配置
    • 1.2、application.yaml配置
  • 2、配置日志
    • 2.1、日志级别
    • 1.2、指定日志级别
      • 1.2.1、通过Bean配置
      • 1.2.2、application.yaml配置
  • 3、Inteceptor配置

1、给Feign配置的方式

我们有两种方式配置Feign,一种是通过application.properties配置文件,另一种是在代码中加入Bean配置。

比如说Feign中我们可以配置日志级别,日志级别的降低可以让Feign打印出更丰富的日志。

日志级别有NONE, BASIC, HEADERS, FULL,他们对应着feign.Logger.Level中定义的枚举值。

1.1、通过Bean配置

首先写一个配置的Bean,返回日志级别。

public class LogConfiguration {@Beanpublic Logger.Level logLevel() {return Logger.Level.FULL;}
}

然后在@FeignClient那里指定配置类。

@FeignClient(name="user-client", configuration = LogConfiguration.class)
public interface UserFeignClient {}

这时结果,打印了header,请求路径等几乎所有的信息。
请添加图片描述


1.2、application.yaml配置

这是更简单的方式。其中user-client是提供远程服务的应用,其spring.application.name=user-client

feign:client:config:user-client:loggerLevel: full	

2、配置日志

Open Feign默认是不打印任何日志的,我们需要额外的配置才能启用日志。

这里是集成Slf4j的示例。

2.1、日志级别

  1. NONE(default):不记录任何日志。
  2. BASIC:只记录请求方法,URL,状态响应码和执行时间。通常用于生产环境。
  3. HEADERS:在BASIC的基础上,还记录请求和响应的header。
  4. FULL:在HEADERS的基础上,还记录body和元数据。可以用在开发环境,方便定位问题。

1.2、指定日志级别

1.2.1、通过Bean配置

首先写一个配置的Bean,返回日志级别。

public class LogConfiguration {@Beanpublic Logger.Level logLevel() {return Logger.Level.FULL;}
}

1.2.2、application.yaml配置

这是更简单的方式。其中user-client是提供远程服务的应用,其spring.application.name=user-client

feign:client:config:user-client:loggerLevel: full	



3、Inteceptor配置

我们可以配置统一的拦截器,一种是在接受所有请求前预处理请求,另一种是发送请求前的预处理。

预处理发送的请求是实现RequestInteceptor。下面是示例。

预处理发送的请求是向所有请求中塞入token这个header。


public class FeignConfiguration {@Bean// feign.RequestInterceptorpublic RequestInterceptor requestInterceptor() {RequestInterceptor interceptor = new RequestInterceptor() {@Overridepublic void apply(RequestTemplate requestTemplate) {requestTemplate.header("token", "1111111");}};return interceptor;}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/829853.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

牛客NC99 多叉树的直径【较难 深度优先 Java/Go/PHP】

题目 题目链接: https://www.nowcoder.com/practice/a77b4f3d84bf4a7891519ffee9376df3 思路 核心就是树的最大直径(globalMax)一定是以某一个node为root最长的两个path-to-leaf. 就是普通dfs的同时算路径长度。时间: O(n), DFS一次 空间: O(n)参考答案Java impo…

stm32的GPIO基本结构

1.带FT标号的引脚能容忍5V 2.GPIO系统架构 stm32的所有GPIO都是挂载在APB2总线上的 3.GPIO的基本结构 在上图中,左边就是寄存器,右边就是驱动器了 保护二极管的作用:VDD表示3.3V,如果输入的电压的值大于3.3V,那么这个…

企业级OV SSL证书,主要应用在哪些场景

我们来看看OV SSL证书的一个典型应用,即电子商务网站。随着电子商务的发展,网上购物已经成为人们日常生活的一部分。然而,这同时也带来了一个问题,就是用户在进行网上交易时,如何保证其个人信息、银行卡信息等敏感数据…

就业班 第三阶段(nginx) 2401--4.26 day5 nginx5 nginx https部署实战

三、HTTPS 基本原理 1、https 介绍 HTTPS(全称:HyperText Transfer Protocol over Secure Socket Layer),其实 HTTPS 并不是一个新鲜协议,Google 很早就开始启用了,初衷是为了保证数据安全。 近些年&…

免费实用在线小工具

免费在线工具 https://orcc.online/ pdf在线免费转word文档 https://orcc.online/pdf 时间戳转换 https://orcc.online/timestamp Base64 编码解码 https://orcc.online/base64 URL 编码解码 https://orcc.online/url Hash(MD5/SHA1/SHA256…) 计算 https://orcc.online/ha…

Python 使用相对路径读取文件失败

python open一个问及那时使用绝对路径可以,但是使用相对路径时报错,找不到指定文件 解决步骤如下: 添加Python配置 在新增的配置Json文件添加下图红框这一行

知网怎么查重 知网查重的详细步骤

知网查重八个步骤:1. 访问官网,注册账号。2. 上传待查文档。3. 选择查重规则。4. 选择相似来源库。5. 提交查重任务。6. 等待查重结果。7. 获取查重报告。8. 下载查重报告。 知网查重的详细步骤 第一步:进入知网查重系统 打开浏览器&#x…

27.统一网关Gateway-路由断言工厂

在配置文件中写的断言规则只是字符串,这些字符串会被Predicate Factory读取并处理,转变为路由判断的条件。 例如:Path /user/** 是按照路劲匹配,这个规则是由 org.springframework.cloud.gateway.handler.predicate.PathRouteP…

目标检测——3D玩具数据集

在数字化时代,计算机视觉技术取得了长足的进展,其中基于形状的3D物体识别技术更是引起了广泛关注。该技术不仅有助于提升计算机对现实世界物体的感知能力,还在多个领域展现出了广阔的应用前景。本文将探讨基于形状的3D物体识别实验的重要性意…

ACE框架学习3

ACE Acceptor-Connector框架 该框架实现 Acceptor-Connector 模式,该模式解除了“网络化应用中的协作对端服务的连接和初始化”与“连接和初始化之后它们所执行的处理”的耦合。Acceptor-Connector 框架允许成用独立于它们所提供的服务来配置其连接布局的关键属性。…

从阿里云迁移Redis到AWS的规划和前期准备

在将Redis实例从阿里云迁移到AWS之前,需要进行全面的规划和前期准备。以下九河云提供一些重要的步骤和注意事项: 1. 评估Redis使用情况 首先,您需要评估当前Redis实例的使用情况,包括实例规格、内存使用量、吞吐量、访问模式等。这将有助于选择合适的AWS Redis产品和实例类型…

一键设置jdk环境脚本

自动化脚本 一、使用方法 创建一个txt文本,放在和jdk存放的同一目录下,复制粘贴进我的代码,利用全局替换,将jdk1.8,改成你自己的jdk包名字,再重新把这个文件保存为.vbs文件。然后运行就行了 MsgBox "Runing s…

【C语言】编译与链接

1.翻译环境与运行环境 在ANSI C的任何一种实现中,存在两个不同的环境。 1.翻译环境,在这个环境中源代码被转换为可执行的机器指令(二进制指令) 2.执行环境,它用于实际执行代码 2.翻译环境 那么翻译环境是怎么将源代码…

Windows系统中下Oracle 19C数据库超级详细安装、设置教程(自己电脑上安装Oracle学习,保姆级教学,亲测有效)

Oracle 官方提供了一个基于 Java 技术的图形界面安装工具:Oracle Universal Installer(Oracle 通用安装器)简称 OUI,利用它可以完成在不同操作系统平台上(Windows、Linux、UNIX)的、不同类型的、不同版本的…

历时三年,花了200万,小米换的新标值这个价吗?

原创 航通社 航通社 收录于话题#小米1#小米新logo1#营销1 以及为什么要搞一套“设计哲学” 航通社首发原创文章,未经授权禁止转载 微博:航通社 | 微信搜一搜:2021年 第12期 文 / 书航 2021.3.31 小米集团宣布了 10 年来的首次标识&#x…

uni-app canvas 签名

调用方法 import Signature from "/components/signature.vue" const base64Img ref() //监听getSignImg uni.$on(getSignImg, ({ base64, path }) > {base64Img.value base64//console.log(签名base64, path >, base64, path) //拿到的图片数据// 之后取消…

Levenberg-Marquardt (LM) 算法进行非线性拟合

目录 1. LM算法2. 调包实现3. LM算法实现4. 源码地址 1. LM算法 LM算法是一种非线性最小二乘优化算法,用于求解非线性最小化问题。LM主要用于解决具有误差函数的非线性最小二乘问题,其中误差函数是参数的非线性函数,需要通过调整参数使误差函…

Vue Canvas图片水印的绘制 图片加水印

效果 定义画布 <canvas width"800" height"800" ref"cn" ></canvas>绘制水印 draw(){const img new Image()img.srchttps://img1.baidu.com/it/u3035183739,1826404114&fm253&fmtauto&app138&fJPEGimg.onload(()…

pyqt 动态更换表头和数据

目录 pyqt 动态更换表头和数据代码 效果图&#xff1a; pyqt 动态更换表头和数据代码 from PyQt5.QtGui import QColor, QBrush from PyQt5.QtWidgets import QApplication, QTableWidget, QVBoxLayout, QWidget, QPushButton, QTableWidgetItemclass Example(QWidget):def _…

Redis底层数据结构之ZSkipList

目录 一、概述二、ZSkipList结构三、和平衡树和哈希表的对比 redis底层数据结构已完结&#x1f44f;&#x1f44f;&#x1f44f;&#xff1a; ☑️redis底层数据结构之SDS☑️redis底层数据结构之ziplist☑️redis底层数据结构之quicklist☑️redis底层数据结构之Dict☑️redis…