一、简介
spring-cloud-starter-openfeign 是 Spring Cloud 中的一个组件,它提供了对 OpenFeign 的支持,OpenFeign 是一个声明式、模板化的 HTTP 客户端,可以用来简化与 HTTP 服务之间的通信。使用 spring-cloud-starter-openfeign 可以在 Spring Cloud 应用中很方便地使用 OpenFeign。
它便于微服务之间的调用。
二、使用方法
(一)添加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
(二)在启动Application上添加注解
@EnableFeignClients // 开启fegin
@SpringBootApplication
@RestController
public class GatewayApplication {
public static void main(String[] args) {
SpringApplication.run(GatewayApplication.class, args);
}
}
(三)案例类上添加的注解:@FeignClient
案例一: url:引用application配置文件中的路径
@FeignClient(name="feginService ", url = "${gy.fegin.authService}")
public interface feginService {
}
案例二:URL直接写路径
@FeignClient(name="feginService ", url = "http://localhost:9090")
public interface feginService {
}
注意:url和name都可以用占位符的方式来使用
三、注意事项
1、fegin接口有继承性
2、fegin可以自定义配置
@EnableFeignClients(defaultConfiguration=FooConfiguration.class)或者@FeignClient(configuration = FooConfiguration.class)都可以使用configuration覆盖默认的一些配置,比如自定义encoder、decoder、contract等等,defaultConfiguration是对所有的feign客户端都起作用,而configuration只对当前的feign客户端起作用,可以参考:FeignClientsConfiguration。
3、fegin可以手动创建客户端