Feign的使用

业务背景:

        两个springboot项目,charger项目、rmt项目,并注册在同一个nacos中。

        rmt项目需要调用charger提供的接口。

1、rmt引入charger的maven依赖

        
            com.dmyc.charger
            charger-api
            1.0-SNAPSHOT
        

2、配置启动类,启动类加上该注解

@EnableFeignClients

3、在rmt写一个service类型

Feign的使用_第1张图片

注解@FeignClient 不可少,path为charger配置中的url项目路径,post和get的url要与charger中保持一致。 Feign的使用_第2张图片

 4、在rmt中把Feign的Service,正常当作普通的Service引用即可。

后续出现问题:

在本地可以跑通,但是上到测试服后,报出以下错误

Feign的使用_第3张图片

观察请求路径,发现缺少了IP地址。

1、检查nacos配置,两个项目注册在同一个nacos上,无误,打包上测试服的jar也无误。

2、检查运行环境,与本地不同,两个项目不在同一台测试服务器上,网络不通,导致找不到IP。

解决:在@FeignClient注解上,指定被调用方的主机IP地址。

@FeignClient(value = "charger", path = "/charger", url = "http://127.0.0.1:10005")

你可能感兴趣的:(java,spring,boot,spring)