zoukankan      html  css  js  c++  java
  • 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的版本了,这些问题早就不存在了

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

  • 相关阅读:
    [转]浏览器退出之后php还会继续执行么?
    vim常用命令
    [转]自己写PHP扩展之创建一个类
    [转]用C/C++扩展PHP详解
    [转]PHP的执行流程,PHP扩展加载过程
    用扩展开发一个PHP类
    gcc
    Linux常用网络命令
    TCP-IP详解学习笔记1
    在Linux中调试段错误(core dumped)
  • 原文地址:https://www.cnblogs.com/yanghj/p/13725516.html
Copyright © 2011-2022 走看看