java微服务服务间feign调用
时间: 2023-09-28 22:12:23 浏览: 172
Feign 是 Netflix 开源的一款基于 HTTP 请求的 RESTful 客户端。它可以让开发者更加方便、快捷、优雅地调用 HTTP API。在微服务架构中,服务之间经常需要进行远程调用,Feign 可以方便地实现服务之间的 HTTP 调用。
下面是 Java 微服务服务间 Feign 调用的示例:
1. 在 pom.xml 文件中添加以下依赖:
```xml
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
```
2. 创建 Feign 接口
```java
@FeignClient(name = "service-provider", fallback = ServiceProviderFallback.class)
public interface ServiceProviderFeign {
@GetMapping("/hello")
String hello();
}
```
其中,@FeignClient 注解用于声明一个 Feign 客户端,name 属性指定服务名,fallback 属性指定服务降级处理类。
3. 创建服务降级处理类
```java
@Component
public class ServiceProviderFallback implements ServiceProviderFeign {
@Override
public String hello() {
return "fallback";
}
}
```
4. 在应用程序中使用 Feign 接口
```java
@RestController
public class Controller {
@Autowired
private ServiceProviderFeign serviceProviderFeign;
@GetMapping("/callHello")
public String callHello() {
return serviceProviderFeign.hello();
}
}
```
其中,@Autowired 注解用于自动注入 ServiceProviderFeign 接口实例。
通过以上步骤,我们就可以使用 Feign 轻松地实现微服务之间的 HTTP 调用。
阅读全文