OpenFeign使用demo
- 1. OpenFeign的作用
- 2. OpenFeign使用demo
- 2.1 使用方
- 2.2 提供方
1. OpenFeign的作用
原来我们调用别人的接口,通常都是通过Http请求来(如下图1),而现在有了OpenFeign我们就可以像调用接口的方式来完成调用。
OpenFeign 并不是一个严格意义上的 RPC 框架,而是一个基于 HTTP 的声明式客户端。它允许您在使用 Spring 应用程序时以声明式的方式定义和调用 HTTP 客户端。虽然它不是传统意义上的 RPC 框架,但它可以用于实现微服务架构中服务之间的通信,类似于 RPC 框架的功能。OpenFeign 使用标准的 HTTP 协议进行通信,而不像一些 RPC 框架那样使用自定义的通信协议。
2. OpenFeign使用demo
2.1 使用方
在pom依赖中引入,如下图
可以写一个Client来封装方法
@Resource
private AttendanceABCFeignApi attendanceABCFeignApi;
2.2 提供方
提供方代码结构
代码主要写在上面的client中,client的pom依赖如下
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
在api包下的XXXAPI类,如下
这段代码使用了 @FeignClient 注解,下面解释一下各个参数的含义:
-
value:这个参数指定了 FeignClient 的值,即被调用的服务的名称。在这个例子中,Application.SERVER_NAME 是一个常量,用于指定服务的名称。通常情况下,这个值会对应于被调用服务的应用名称。
-
contextId:这个参数用于指定 FeignClient 的上下文 ID。这个参数是可选的,它允许您为 FeignClient 指定一个唯一的标识符,以区分不同的 FeignClient。在这个例子中,attendanceDailyResultSearchFeignApi 是一个自定义的上下文 ID。
-
path:这个参数指定了被调用服务的基本路径。在这个例子中,被调用服务的基本路径是 attendance/daily/result/search。在实际的 HTTP 请求中,FeignClient 将会基于这个路径来构建请求 URL。
总体而言,@FeignClient 注解用于声明一个 Feign 客户端,它定义了与目标服务通信的一些基本信息,包括服务名称、上下文 ID 和基本路径等。
在server中,给出了方法的具体实现类
当然写完这个程序最后要上传到Nexus 私服