开启压缩可以有效节约网络资源,提升接口性能,我们可以配置 GZIP 来压缩数据:

    1. feign:
    2. # 配置 GZIP 来压缩数据
    3. compression:
    4. request:
    5. enabled: true
    6. # 配置压缩的类型
    7. mime-types: text/xml,application/xml,application/json
    8. # 最小压缩值
    9. min-request-size: 2048
    10. response:
    11. enabled: true

    注意:只有当 Feign 的 Http Client 不是 okhttp3 的时候,压缩才会生效,配置源码在FeignAcceptGzipEncodingAutoConfiguration
    image.png
    核心代码就是 @ConditionalOnMissingBean(type=”okhttp3.OkHttpClient”),表示 Spring BeanFactory 中不包含指定的 bean 时条件匹配,也就是没有启用 okhttp3 时才会进行压缩配置。