SpringCloud之OpenFeign
简介
OpenFeign 是一个声明式的 HTTP 客户端库,最初由 Netflix 开发,现在是 Spring Cloud 生态系统的一部分。它使得远程服务调用变得像调用本地方法一样简单,从而大大简化了微服务架构中服务间通信的实现。
springCloud集成OpenFeign
1.导入Maven依赖
注意:由于OpenFeign是与nacos一起使用,openfeign通过nacos发现服务进行远程服务之间的调用。
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
<!-- 导入openfeign依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>2.2.6.RELEASE</version>
</dependency>
2.bootstrap.yaml进行nacos的配置
spring:
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
application:
name: openfeign
server:
port: 8082
3.启动类增加注解
@SpringBootApplication
@EnableFeignClients
@EnableDiscoveryClient
public class FeignApplication {
public static void main(String[] args) {
SpringApplication.run(FeignApplication.class, args);
}
}
@EnableFeignClients的主要作用是进行feignClient的扫描,扫描调用远程服务的信息
4.编写feignclient调用端
@FeignClient(name = "test")
public interface TestFeignClient {
@GetMapping("/config")
Integer getCount();
}
注意事项
@FeignClient 注册远程调用的服务,name参数表示远程服务调用端的服务名称
方法需与远程调用的方法保持一致,包括方法名、返回值、方法参数,调用地址。
5.启动两个服务
可以在nacos中发现这两个服务
6.调用方法
远程服务调用成功。