spring boot feignclient,spring feignclient
00-1010的背景是如下的错误。这就是Springboot版本不一致导致的问题。解决方案如下:现有的Springboot项目有三个,分别是JPMC适配器、GSDIC-API和TWPre-API。Gsdic-API和twpre-API是公共服务,对外提供Restful APIs,通过feign client调用。
00-1010 JPMC适配器现在需要调用另外两个公共服务。
Springboot版本:
JPMC-Adapter 1 . 5 . 9 gsdic-api 1 . 5 . 9 TW Pre-API 2 . 0 . 5可以看出jpmc-adaper和GSDIC-API的Springboot版本是一致的。如果jpmc-adaper只是通过feign client调用gsdic-api,一切就OK了!
现在的情况是:JPMC-阿达珀需要调用gsdic-api和twpre-api,然后在启动项目时报告一个错误。
目录
00-1010我们先来看看如何调用jpmc-adaper中的另外两个服务。
大致如下:
1.build.gradle中引入了另外两个用于公共服务的jar包。
2.gradle.properties中对依赖版本号的统一管理如下:
3.开始将公共服务引入类的配置:
4.按如下方式调用测试类:
twpre-api的FeignClient来自org。spring framework . cloud . open feign . feign client;如下所示:
而gsdic-api的FeignClient来自org . spring framework . cloud . Netflix . feign . feign客户端,如下:
00-1010您可以更改所有服务的版本以保持一致,从而避免此类问题。但更改版本可能会导致许多问题,这里可以通过以下方式解决:
因为jpmc-adapter和gsdic-api的版本是一样的,所以我们在调用者jpmc-adapter中重写了twpre-api的FeignClient。
包com . geos wift . jpmc . API;导入org . spring framework . cloud . Netflix . feign . feign client;导入com . geo swift . tw pre . fapi . twprerestapi;@ feignclient (name= twpre ,path=/API/twpre/v1 )公共接口mytwprerest API扩展twprerest API {}然后在测试期间使用我们重写的客户端,如下所示:
以上个人经验,希望能给大家一个参考,也希望大家能支持盛行的IT。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。