Feign调用把GET请求自动转成POST请求解决:Request method 'POST' not supported

简介: Feign调用把GET请求自动转成POST请求解决:Request method 'POST' not supported

问题场景:


调用类型:Feign调用


请求类型:GET请求


请求参数:body(规范:POST:body)


解决方案:添加maven


<dependency><groupId>io.github.openfeign</groupId><artifactId>feign-httpclient</artifactId></dependency>


原理简述:


Feign原生的连接工具使用了jdk中的rt.jar包的HttpURLConnection 类 进行实现,


其中,对应HttpURLConnection 的连接对象,Feign默认的实现是设置了doOutput为true


connection.setDoOutput(true);


这个设置也正是解释了为什么Feign只要发现你存在body体对象就会将Get请求转成Post


感兴趣的可以查看更详细的原理分析:https://www.freesion.com/article/9609777518/


总结:


Feign使用的原生的连接工具,就是发现你的传递参数是body时,就会将Get请求转成Post。所以解决方案:用feign-httpclient替换掉原生的连接工具。


注:当我们使用:GET、POST、PUT、DELETE请求类型时,还是要注意规范,不然会出现你意想不到的错误!


规范参考:GET:少量参数查询、路径上直接拼接参数,POST:查询参数较多,PUT:修改方法时使用,DELETE:删除方法时使用!

目录
相关文章
Bug级别判定法则
Bug级别判定法则
899 0
|
Java Spring 容器
在Feign接口中返回泛型类型——自定义Decoder
前几天对接了一套第三方接口,所有接口的请求地址一样,请求参数和响应结果中有很多共同的字段,所以就想把这些字段都抽出来,Feign定义的接口直接返回泛型类型。
在Feign接口中返回泛型类型——自定义Decoder
|
JSON 移动开发 应用服务中间件
调用Feign接口报错:JSON parse error:Illegal character ((CTRL-CHAR, code 31))
调用Feign接口报错:JSON parse error:Illegal character ((CTRL-CHAR, code 31))
3796 0
调用Feign接口报错:JSON parse error:Illegal character ((CTRL-CHAR, code 31))
|
前端开发
Request method ‘POST‘ not supported。 Failed to load resource: net::ERR_FAILED
这篇文章讲述了在前后端分离的项目中,由于前端错误地使用了GET请求方法而不是支持的POST,导致请求被后端拒绝的问题,并提供了相应的解决方法和HTTP方法的CRUD映射知识。
Request method ‘POST‘ not supported。 Failed to load resource: net::ERR_FAILED
|
消息中间件 安全 Kafka
Kafka启动后需要开放什么端口?
Kafka启动后需要开放什么端口?
3635 7
|
11月前
|
Java Linux 开发工具
IDEA中git提交前如何关闭code analysis以及开启格式化代码
【10月更文挑战第12天】本文介绍了在 IntelliJ IDEA 中关闭代码分析和开启代码格式化的步骤。关闭代码分析可通过取消默认启用检查或针对特定规则进行调整实现,同时可通过设置 VCS 静默模式在提交时跳过检查。开启代码格式化则需在 `Settings` 中配置 `Code Style` 规则,并通过创建 Git 钩子实现提交前自动格式化。
3724 3
|
存储 监控 Java
OpenFeign请求拦截器组件RequestInterceptor原理与使用场景
该文章讲述了OpenFeign中的请求拦截器组件RequestInterceptor的原理及其常见使用场景。
OpenFeign请求拦截器组件RequestInterceptor原理与使用场景
|
数据可视化 程序员
IDEA插件-Rainbow Variable/IDEA彩色变量
"Rainbow Variable"是一款用于 IntelliJ IDEA 的插件,旨在提高代码中变量的可视化区分度。通过使方法中的参数和变量呈现不同的颜色,提高代码可读性。 插件允许用户自定义颜色,使得在同一个函数内部相同的变量采用相同的颜色,从而避免误用。
2475 0
IDEA插件-Rainbow Variable/IDEA彩色变量
|
Java Apache 网络架构
【小家Spring】Feign发送Get请求时,采用POJO对象传递参数的最终解决方案 Request method ‘POST‘ not supported (附带其余好几个坑)(上)
【小家Spring】Feign发送Get请求时,采用POJO对象传递参数的最终解决方案 Request method ‘POST‘ not supported (附带其余好几个坑)
深入理解Spring Boot中的配置加载顺序
深入理解Spring Boot中的配置加载顺序