SpringBoot 使用 Feign 无废话 All-in-one 指南( 三 )

class FeignInterceptor1 implements RequestInterceptor {@Overridepublic void apply(RequestTemplate requestTemplate) {requestTemplate.header("user1", "myuser1");requestTemplate.header("password1", "mypassword1");}}复制代码class FeignInterceptor2 implements RequestInterceptor {@Overridepublic void apply(RequestTemplate requestTemplate) {requestTemplate.header("user2", "myuser2");requestTemplate.header("password2", "mypassword2");}}复制代码

  • @FeignClient 中指定一个
@FeignClient(name = "test-service",url = "http://localhost:8080/feign/server/",configuration = {FeignInterceptor.class,TestConfiguration.class},fallback = TestService.DefaultFallback.class)复制代码
  • 配置中指定 2 个
default 指定了一个,test-service里指定一个
feign:httpclient:enabled: trueokhttp:enabled: trueclient:config:default:connectTimeout: 5000readTimeout: 5000#loggerLevel: nonerequestInterceptors:- com.zto.titans.test.feign.service.FeignInterceptor1test-service:#loggerLevel: basicrequestInterceptors:- com.zto.titans.test.feign.service.FeignInterceptor2logging:level:com.zto.titans.test.feign.service.TestService : DEBUG复制代码根据追加逻辑,最终执行的顺序是:
  1. FeignInterceptor
  2. FeignInterceptor1
  3. FeignInterceptor2
总结本篇主要介绍 SpringBoot 中要玩转 Feign 需要掌握的如添加 pom 依赖、客户端注解启用、切换底层 HttpClient、配置数据压缩、调整日志级别、定制配置、配置的优先级机制、增加拦截器以及拦截器的追加机制等知识,以实例 + 效果的方式帮读者高效全面并深入的理解它们 。

原文链接:
https://juejin.cn/post/7169549885723639838
来源:稀土掘金




推荐阅读