千家信息网

如何解决Springboot中Feignclient调用时版本问题

发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,这篇文章主要为大家展示了"如何解决Springboot中Feignclient调用时版本问题",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"如何解决Spri
千家信息网最后更新 2025年01月25日如何解决Springboot中Feignclient调用时版本问题

这篇文章主要为大家展示了"如何解决Springboot中Feignclient调用时版本问题",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"如何解决Springboot中Feignclient调用时版本问题"这篇文章吧。

现有Springboot项目三个,分别为jpmc-adapter, gsdic-api, twpre-api。gsdic-api, twpre-api是公共的服务,对外提供Restful的API,通过feign client去调用。

大的背景就是

jpmc-adapter现在需要调用另外两个公共的服务。

Springboot版本:

  • jpmc-adapter 1.5.9

  • gsdic-api 1.5.9

  • twpre-api 2.0.5

可以看到jpmc-adaper和gsdic-api的Springboot版本是一致的。如果jpmc-adaper通过feign client单单调用 gsdic-api,一切都OK!

现在的情况是:jpmc-adaper既需要调用 gsdic-api,又需要调用twpre-api,然后启动项目的时候就报错了

错误如下

这是Springboot版本不一致导致的问题

先看jpmc-adaper中是如何去调用另外两个服务的。

大致如下:

1. build.gradle中引入另外两个公共服务的jar包。

2. gradle.properties中统一管理依赖版本号,如下:

3. 启动类中引入公共服务的配置:

4. 测试类中调用如下:

其中,twpre-api的FeignClient是来自org.springframework.cloud.openfeign.FeignClient;如下:

而gsdic-api的FeignClient是来自org.springframework.cloud.netflix.feign.FeignClient, 如下:

解决办法如下

你可以把所以服务的版本换成一致,这样就能避免此类问题。但是换版本可能会导致很多问题,这里可以通过如下方式解决:

因为jpmc-adapter和gsdic-api的版本是一致的,那么我们在调用方即jpmc-adapter中重写twpre-api的FeignClient。

package com.geoswift.jpmc.api; import org.springframework.cloud.netflix.feign.FeignClient; import com.geoswift.twpre.fapi.TwpreRestAPI; @FeignClient(name="twpre", path="/api/twpre/v1")public interface MyTwpreRestAPI extends TwpreRestAPI { }

然后在测试的时候使用我们重写后的客户端就行了,如下:

以上是"如何解决Springboot中Feignclient调用时版本问题"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

版本 问题 服务 一致 两个 内容 篇文章 公共服务 时候 项目 学习 帮助 测试 三个 中统 办法 可以通过 客户 客户端 就是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 将用户的信息保存到数据库中 华为网络技术工程群面 四川瑞明达网络技术公司 魔兽世界赛季服服务器阵营比例 sql 数据库生成脚本 r中数据库的构建方法 专转本数据库系统 一个服务器两个微端 广电网络技术考试 网络安全系统组建 阿里云服务器下载不了 车子显示服务器超时 热卷产销数据库哪里查 打印服务器共享怎么设置 有关网络技术的发展的论文 用户对数据库对表的操作权限 夏邑脸谱互联网科技有限公司 计算机网络技术能进铁路局吗 新建一个数据库账户 英雄联盟各服务器的玩家人数 统筹布局网络安全三大功能 数据库系统各个部分的功能 我的世界服务器金钱数量怎么设置 dnf客户端没有服务器列表 交行软件开发中心领导 华北电力大学复试数据库资料 软件开发是前端还是后端 服务器配置搭配 原神全部角色服务器 数据库不可再分
0