打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【SpringCloud】Feign解决Get请求自动转化成POST的问题

Feign

/**
 * @author mirror
 */
@FeignClient(
        value = "pocket-account-management",
        configuration = FeignAccMgrServiceConfiguration.class)
public interface AccMgrService {
    ...
    @GetMapping(ACC_URL_PREFIX + "/query/currencys")
    ResultData queryCurrencysByIdx(@RequestBody QueryIdx queryIdx);
    ...
}

服务提供者

    @GetMapping("/query/currencys")
    public ResultData queryCurrencysByIdx(@RequestBody QueryIdx queryIdx) {
        ...
        return ...;
    }

调用时出现错误:Caused by: feign.FeignException$MethodNotAllowed: status 405 reading

明明Feign发送的是Get请求,到了提供者这边却变成了Post

原因

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

解决办法

步骤

  • 加入Feign的配置项
feign:
  httpclient:
    enabled: true
  • 加入这两个依赖
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.5.9</version>
        </dependency>
        <dependency>
            <groupId>io.github.openfeign</groupId>
            <artifactId>feign-httpclient</artifactId>
            <version>10.2.3</version>
        </dependency>

搞定!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
SpringCloud Feign远程调用公共类抽取【SpringCloud系列4】
SpringCloud Feign[HttpClient连接池]
使用Spring Cloud Feign作为HTTP客户端调用远程HTTP服务
Java&Spring过时的经典语录
openFeign夺命连环9问,这谁受得了?
轻拢慢捻,微服务熔断大总管
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服