脱离spring cloud框架,独立使用openfeign进行远程调用
本文目的:单独使用feign的相关依赖实现项目的http调用。现在的微服务项目不少都使用的是springboot+springcloud构建的项目,微服务之间的调用都离不开feign来进行远程调用。那么我们一个服务需要调用第三方的服务的时候,我们常常可能使用httpclient或者restTemplate等客户端api来实现远程调用,其实我们可以在微服务没有适用springcloud框架的情况下,
本文目的:单独使用feign的相关依赖实现项目的http调用。
现在的微服务项目不少都使用的是springboot+spring cloud构建的项目,微服务之间的调用都离不开feign来进行远程调用。那么我们一个服务需要调用第三方的服务的时候,我们常常可能使用httpclient或者restTemplate等客户端api来实现远程调用,其实我们可以在微服务没有适用spring cloud框架的情况下,想调用第三方服务,也可以通过feign组件实现http的远程调用。
1 添加相关依赖
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-core</artifactId>
<version>11.0</version>
</dependency>
<dependency>
<groupId>com.netflix.feign</groupId>
<artifactId>feign-jackson</artifactId>
<version>8.18.0</version>
</dependency>
2 创建feign的接口文件
feign的接口文件主要是通过@RequestLine注解+请求方式+第三方的接口子路径地址来注明需要调用的第三方接口路径,如下图2.1所示 IMarketDataOuterApi.java 接口
下图2.2为在项目中调用IMarketDataOuterApi的cityList方法:
3 需要在spring容器中注册一个IMarketDataOuterApi的Feign包装过的一个IMarketDataOuterApi对象
如图3.1所示:
创建IMarketDataOuterApi的feign接口时需要指定第三方请求根路径和feign的请求拦截器。
拦截器中可以对feign的请求头进行统一定制。如图3.2所示:
4 完成以上工作,既可以启动项目,直接调用接口方法就可以访问第三方服务了。
更多推荐
所有评论(0)