索引
今天继续看《Spring Cloud与Docker微服务架构实战》
什么是Feign
继续了解spring cloud的各个组件,今天了解到一个新的组件,叫Feign,这个组件是帮助我们实现注解化调用REST接口的。
昨天说了前些天看的spring cloud代码示例中用的都是restTemplate来调用REST接口的,缺点是使用起来很繁琐,因为各种参数都需要手拼,使用起来明显缺少一些高级感,比较的原始。
加入Feign后,可以很简单的实现注解调用REST接口。示例如下。
示例
首先引入Feign
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>
然后写一个REST请求代理接口
@FeignClient(name = "geekgao-eureka-provider") public interface ConsumerFeign { @RequestMapping(value = "provider", method = RequestMethod.GET) return "provider said: " + consumerFeign.requestProvider(); }
最后一步,再spring boot启动类上加上Feign支持的注解
@EnableFeignClients public class GeekGaoEurekaConsumer { ... }
大功告成的请求截图
与restTemplate的比较
不用自己拼接参数在url内了。上述例子没有体现这一点是为了简单。Feign对与get和post请求,可以按如下方式支持多参数
get请求
post请求
原创文章,作者:geekgao,如若转载,请注明出处:https://www.geekgao.cn/archives/2325