介绍:借用github上对Feign介绍的一句话——用Feign写HTTP客户端更轻松
Feign的入门可以完全参考github上的介绍
https://github.com/OpenFeign/feign
还有一个比较不错的例子,里面有使用Feign自定义encoder和decoder来操作多媒体的demo
https://github.com/pcan/feign-client-test
Feign的内部机制是使用RestTemplate来实现
本文主要介绍SpringCloud项目里Feign作为客户端使用的一些知识点,以及常用的一些需求和场景。
需要注意的是单独使用Feign和SpringCloud里面使用Feign很多地方不一样。
SpringCloud里面只需添加如下引用即可
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-feign</artifactId>
</dependency>
在启动的Application上面加注解
@EnableFeignClients
Feign在SpringCloud集成Eureka的情况下可以直接使用@FeignClient(name="servicename") ,name是集成的服务名
当然,也可以在不调用服务的情况下使用Feign,下面上一段代码
@FeignClient(name = "bClientApi", url = "${apiclient.bclient.url}", fallback = IAuthRemoteService.BClientFallback.class,configuration = R