如何进行Feign的自定义配置

news2024/9/24 21:24:20
  1. Feign可以支持很多的自定义配置,下列是部分配置信息
    1. 类型作用说明
      Logger.Level修改日志级别配置键:loggerLevel,包含四种不同的级别:NONE、BASIC、HEADERS、FULL
      Class<Retryer>失败重试机制配置键:retryer,请求失败的重试机制,默认是没有,不过会使用Ribbon的重试
      Class<Decoder>响应结果的解析器配置键:decoder,http远程调用的结果做解析,例如解析json字符串为java对象
      Class<Encoder>请求参数编码配置键:encoder,将请求参数编码,便于通过http请求发送
      Class<Contract>支持的注解格式配置键:contract,默认是SpringMVC的注解
    2. 一般情况下,默认值就能满足我们自己的使用了,如果要自定义时,只需要创建自定义的@Bean覆盖默认Bean即可,或者将配置文件的信息修改为自己的配置信息
  2. 以修改feign的日志级别为例
    1. 修改配置文件方式
      1. 针对单个微服务的feign进行设置
        1. 在application.yml文件中添加配置
          1. feign:
              client:
                config:
                  # 指的是@FeignClient中的value设定的值,也就是对应的微服务名称
                  nacos-feign-user-service:
                    # 日志级别 
                    loggerLevel: FULL
      2. 针对当前所有微服务进行设置
        1. 在application.yml文件中添加配置
          1. feign:
              client:
                config:
                  # default就是全局配置
                  default:
                    # 日志级别
                    loggerLevel: FULL
    2. java代码编码方式
      1. 首先创建feign的配置类DefaultFeignConfiguration
        1. package com.app.order.config;
          
          import feign.Logger;
          import org.springframework.context.annotation.Bean;
          
          /**
           * feign的系统配置信息
           *
           * @author Administrator
           */
          public class DefaultFeignConfiguration {
          
              @Bean
              public Logger.Level feignLoggerLevel() {
                  // 日志级别设置为FULL
                  return Logger.Level.FULL;
              }
          
          }
          
      2. 针对单个微服务的feign进行设置
        1. 在对应服务的@FeignClient中添加configuration属性
          1. @FeignClient(value = "nacos-feign-user-service", path = "/users", configuration = DefaultFeignConfiguration.class)
      3. 针对当前所有微服务进行设置,也就是全局配置
        1. 修改项目的启动类的注解@EnableFeignClients,添加defaultConfiguration属性
          1. @EnableFeignClients(clients = {UserApi.class}, defaultConfiguration = DefaultFeignConfiguration.class)
    3. 日志级别详细
      1. NONE:不记录任何日志信息,这是默认值
      2. BASIC:仅记录请求的方法,URL以及响应状态码和执行时间
      3. HEADERS:在BASIC的基础上,额外记录了请求和响应的头信息
      4. FULL:记录所有请求和响应的明细,包括头信息、请求体、元数据
    4. 注意
      1. feign相关的日志默认是不会输出的,需要自定义配置才能输出,并且Feign只对debug级别的基本的日志做出响应,所以需要将日志级别设置为debug级别,info级别是不会输出的,其源码如下

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

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

相关文章

C语言程序_速通_基础_笔记1_备战大一期末考_12.16

1.固定格式 #include<stdio.h>int main(){return 0;} 2.printf 正常输出&#xff1a;printf("XXXXX"); 如果没有任何换行符什么的&#xff0c;输进去多少个printf&#xff0c;就直接连在一起。 \n&#xff0c;换行 \t 空格 3.int float double char flo…

牛客第一期

1.创建动态数组 #include <iostream> using namespace std;int main() {int n; cin>>n; int *pnew int [n]; int i0; for(i0;i<n;i) {*(pi)ni; } int j0; for(j0;j<n;j) {printf("%d ",*(pj)); } } #include<bits/stdc.h> using namespace s…

文件上传自动化测试方案(超详细)

一、概述 【测试地址】&#xff1a;https://pan.baidu.com 【测试工具】&#xff1a;selenium、requests 【脚本语言】&#xff1a;Python 【运行环境】&#xff1a;Windows 百度网盘作为文件存储及分享的平台&#xff0c;核心功能大部分是对文件的操作&#xff0c;如果要…

2024GoCN线下活动全面启动,赠送深圳MeetUp门票

2024年GoCN社区将全面启动一系列令人期待的线下活动---不仅将在北京、上海、深圳、武汉、成都、杭州、广州、西安等地举办 meetup&#xff0c;还将在北京和上海举办 GopherChina 大会。 2024议题征集通道已开启&#xff0c;欢迎各位有实战经验、独特观点的Gopher前来分享~ 2024…

vue中iframe标签跨域通信——父子页面之间传值(解决子页面收不到父页面的值或子页面收到的数据为undefined的问题)

背景 因为本系统需要支持第三方系统页面的嵌入&#xff0c;于是尝试使用iframe标签&#xff0c;进行跨域通信&#xff0c;父子页面相互传值。初始化时&#xff0c;父页面发送数据给子页面&#xff0c;需要在子页面加载完成后发送&#xff0c;不然接收不到数据。父页面直接给子页…

湖北点赋网络:明星为何钟爱美式咖啡?品味与生活的完美融合

美式咖啡作为一种传统的咖啡饮品&#xff0c;备受明星们的青睐。无论是在电影拍摄现场&#xff0c;还是舞台后台&#xff0c;明星们经常手持着一杯美式咖啡&#xff0c;这不仅仅是为了满足他们的口味偏好&#xff0c;更是一种享受和生活方式的体现。那么&#xff0c;为何明星们…

磁力计LIS2MDL开发(2)----电子罗盘

磁力计LIS2MDL开发.2--电子罗盘 概述视频教学样品申请源码下载环境磁场建模消除硬铁误差软铁干扰主程序 概述 本文将介绍如何使用 LIS2MDL 传感器来读取数据来转化为指南针。 地磁场强度范围约为 23,000 至 66,000 nT &#xff0c;并且可以建模为磁偶极子&#xff0c;其场线起…

Spring AOP 和 Spring Boot 统一功能处理

文章目录 Spring AOP 是什么什么是 AOPAOP 组成切面&#xff08;Aspect&#xff09;连接点&#xff08;Join Point&#xff09;切点&#xff08;Pointcut&#xff09;通知&#xff08;Advice&#xff09; 实现 Spring AOP添加 Spring AOP 框架支持execution表达式定义切面、切点…

Pycharm第三方库导入失败避坑!

最近遇到了明明安装了 python 第三方库&#xff0c;但是在 pycharm 当中却导入不成功的问题。 使用Pycharm手动安装三方库和自动安装三方库都失败&#xff0c;以及Pycharm终端使用pip命令安装也未解决。网上找各种方法尝试都没成功&#xff0c;原来是一不小心就跳进了虚拟环境…

【经验分享】openGauss 5.0.0全密态数据库应用小试

引子&#xff1a; 去年了解openGauss数据库安全特性的时候了解到全密态等只查询特性&#xff0c;实际上openGauss在早期的1.0.0版本就引入了全密态等值查询特性&#xff0c;下面尝试对openGauss 5.0.0版本全密态的使用进行记录&#xff0c;供参考。 全密态数据库&#xff1a;…

造型精致的冰精灵充电头,充电效率高安全可靠,居家出行皆可用

随着大家对手机的依赖度越来越高&#xff0c;快速充电已经成为必不可少的需求。快充当然少不了支持快充的充电器&#xff0c;现在市面上的快充头很多&#xff0c;安全性和便携性是我们选择时的重点关注方向&#xff0c;我目前用的是战飞ZEFi冰精灵&#xff0c;这款产品有着独特…

Python学习路线 - Python语言基础入门 - 函数进阶

Python学习路线 - Python语言基础入门 - 函数进阶 函数的多返回值多个返回值 函数的多种参数使用形式函数参数种类位置参数关键字参数缺省参数不定长参数位置传递 - 不定长关键字传递 - 不定长 函数作为参数传递lambda匿名函数 函数的多返回值 问: 如果一个函数如些两个return…

[Spring ~松耦合的设计神器]`SPI`

Java SPI&#xff08;Service Provider Interface&#xff09;是一种Java的服务提供者接口机制。它允许在运行时动态加载实现服务接口的类。 文章目录 基本概念最简单的实例使用 jar 包通过 spi动态实现接口功能 基本概念 SPI 机制的基本思想是&#xff0c;定义一个服务接口&a…

Git 使用教程(超级详细)

目录 一&#xff1a;Git二&#xff1a;SVN与Git的的区别三、安装Git四&#xff1a;常规操作五&#xff1a;远程仓库六&#xff1a;创建与合并分支七&#xff1a;bug分支八&#xff1a;多人协作九&#xff1a;git可视化工具 Git Git 是一种分布式版本控制系统&#xff0c;用于…

Echarts 热力图与折线图的结合

热力图与折线图结合使用(文末含源码) 这种需求并不多见&#xff0c;遇到后第一时间翻看了Echars官方文档&#xff0c;并没有发现类似的例子。于是自己动手合并了双轴&#xff0c;后发现折线图会被遮盖。经过排查发现了一个关键参数&#xff1a;visualMap的配置。这个配置在热力…

Vue脚手架 Vue CLI安装

目录 0.为什么要安装Vue CLI脚手架 1.配置方法 1.全局安装 (一次) 2.查看Vue版本&#xff08;一次&#xff09; 报错&#xff1a;出现禁止运行脚本 3.创建项目架子&#xff08;可多次&#xff09; 报错npm err! 问题&#xff1a;已知npm换过国内源&#xff0c;且进度条…

了解AOP

1 AOP概述 思考&#xff1a;在一个教务系统中&#xff0c;以下哪些是主要业务逻辑&#xff0c;哪些是次要业务逻辑&#xff1f; 1.1 关于AOP AOP&#xff08;面向方面/切面编程&#xff09;是对OOP&#xff08;面向对象编程&#xff09;的补充&#xff0c;提供另一种关于程序…

FC 可视化功能菜单主代码

[FC][BestVisible][Config].asm ;文件头配置 NES_16KB_PRG_SIZE 8 NES_8KB_CHR_SIZE 16 PRG_BANK_MASK NES_16KB_PRG_SIZE * 2 - 1 ;bank号掩码 PRG_BANK_E000 NES_16KB_PRG_SIZE * 2 - 1 PRG_BANK_C000 …

《Kotlin核心编程》笔记:集合、序列与内联函数

集合的高阶函数API map 操作 val list listOf(1, 2, 3, 4, 5, 6) val newList list.map { it * 2 }当然&#xff0c;在 Java 8 中&#xff0c;现在也能像Kotlin那样去操作集合了。 上面的方法实际上就是一个高阶函数&#xff0c;它接收的参数实际上就是一个函数&#xff0…

sourcetree使用详解

介绍 SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端管理工具&#xff0c;同时也是Mn版本控制系统工具。支持创建、克隆、提交、push、pull 和合并等操作。——百度百科 是一款比较好用的图形化GUI的git、hg管理工具。还有一些其他的可视化代码管理工具&#x…