概述
Spring Cloud openfeign对Feign进行了增强,使其支持Spring MVC注解,模板化的HTTP客户端,可以帮助我们更加快速、优雅地调用HTTP API
demo
我们将实现使用openfeign调用stock-service的stock接口
pom,首先引入openfeign的jar包
<!-- openfeign依赖spring cloud,需在父工程指定 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
在启动类中引入@EnableFeignClients注解
创建api包,通过FeignClient的name和path指定服务名和controller的requestmapping路径名
@FeignClient(name = "stock-service",path = "/stock") //name指定服务名,path指定controller的requestmapping路径名
public interface Stockapi {
//声明需要调用的的接口方法,feignclient也不需要写实现类
@GetMapping("/test/{str}")
String test(@PathVariable("str") String str);
}
接口名与调用的方法名一致,OpenFeign 传递参数,一定要绑定参数名,即有参数要加上 @@PathVariable 注解带参数名
两个服务都启动一下,看一下情况,可以看到请求过去了