OpenFeign如何解决Get请求自动转化成POST的问题

作者:

文章目录
  • 服务提供者 /** * 获取用户ID * @param token * @return */ @GetMapping(“/getUserId”) public String getUserId(@RequestParam(required = false) String token){ return userService.getUserId(token); } 服务调用 @Service @FeignClient(value = “auth-service”) public interface AuthClient { /** * 获取用户ID * @param token * @return */ @GetMapping(“/user/getUserId”) public String getUserId(@RequestParam(required = false) String token); } 会自动讲get请求转为post请求
  • 因为Feign默认使用的连接工具实现类,所以里面发现只要你有body体对象,就会强制的把GET请求转换成POST请求。
  • 更换Apache的HttpClient
  • 以上为个人经验,希望能给大家一个参考,也希望大家多多支持风君子博客。 您可能感兴趣的文章: SpringCloud OpenFeign Post请求400错误解决方案 SpringCloud组件OpenFeign之默认HTTP请求方式详解 OpenFeign实现携带请求头方案详细介绍 OpenFeign调用服务请求头丢失Token的解决 openFeign服务之间调用保持请求头信息处理方式
  • 目录
    • 一、问题
    • 二、原因
    • 三、解决方法
      • 1、加入Feign的配置项
      • 2、添加依赖
    • 总结

      服务提供者

          /**
           *  获取用户ID
           * @param token
           * @return
           */
          @GetMapping("/getUserId")
          public String getUserId(@RequestParam(required = false) String token){
              return userService.getUserId(token);
          }

      服务调用

      @Service
      @FeignClient(value = "auth-service")
      public interface AuthClient {
          /**
           *  获取用户ID
           * @param token
           * @return
           */
          @GetMapping("/user/getUserId")
          public String getUserId(@RequestParam(required = false) String token);
      }

      会自动讲get请求转为post请求

      因为Feign默认使用的连接工具实现类,所以里面发现只要你有body体对象,就会强制的把GET请求转换成POST请求。

      更换Apache的HttpClient

      feign:
        httpclient:
          enabled: true

              <!-- httpclient5 -->
              <dependency>
                  <groupId>org.apache.httpcomponents.client5</groupId>
                  <artifactId>httpclient5</artifactId>
              </dependency>
       
              <!-- feign-httpclient -->
              <dependency>
                  <groupId>io.github.openfeign</groupId>
                  <artifactId>feign-httpclient</artifactId>
              </dependency>

      以上为个人经验,希望能给大家一个参考,也希望大家多多支持风君子博客。

      您可能感兴趣的文章:

      • SpringCloud OpenFeign Post请求400错误解决方案
      • SpringCloud组件OpenFeign之默认HTTP请求方式详解
      • OpenFeign实现携带请求头方案详细介绍
      • OpenFeign调用服务请求头丢失Token的解决
      • openFeign服务之间调用保持请求头信息处理方式

      站内搜索