• spring cloud微服务快速教程之(十四)spring cloud feign使用okhttp3--以及feign调用参数丢失的说明


    0-前言

      spring cloud feign 默认使用httpclient,需要okhttp3的可以进行切换

      当然,其实两者性能目前差别不大,差别较大的是很早之前的版本,所以,喜欢哪个自己选择;

    1-实现

    1-1、增加okhttp3依赖;

            <!-- feign 依赖-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-openfeign</artifactId>
                <version>2.2.3.RELEASE</version>
            </dependency>
            <!-- feign okhttp 依赖-->
            <dependency>
                <groupId>io.github.openfeign</groupId>
                <artifactId>feign-okhttp</artifactId>
                <version>10.10.1</version>
            </dependency>

    1-2-配置文件增加配置,启用okhttp3:

    feign:
      httpclient:
        enabled: false
      okhttp:
        enabled: true

    这样就可以了,

    有的文章还说要FeignOkHttpAutoConfiguration的配置类,那是多少年前的事情了,现在的版本早就不需要配置了,已经自动配置

    要切换回httpclient,只需要把配置修改回来,或者直接删掉配置和okhttp依赖就行;

    2-关于Feign调用请求头和参数丢失的说明

      这个问题是发现同事在项目中增加了配置类,用来解决feign调用header和query参数丢失问题,所以特别拿出来说明一下;

      其实,这些配置是多此一举,是冗余代码;

      why?

      因为那是历史问题,是早期netflix套件中的feign才会出现的问题,

      具体点说,是com.netflix.feign,feign-httpclient:8.18.0及其下版本才会出现的问题,

      而现在,早就不用Netflix的feign了好吗,现在用的都是io.github.openfeign的版本了,这些问题早就不存在了

      所以,什么解决参数丢失问题,纯属多此一举;

  • 相关阅读:
    Python 操作 MySQL 之 pysql 与 SQLAchemy
    Python 列表元素里面含有字典或者列表进行排序
    Windows PyCharm QtDesigner/pyuic5配置
    Python之科学运算Pandas模块
    Linux 主要目录速查表
    php读取文件大小
    上传视频云点播和查看视频
    wordppt转pdf
    微信登录
    微信公众号
  • 原文地址:https://www.cnblogs.com/yanghj/p/13725516.html
Copyright © 2020-2023  润新知