五、Feign详解

Feign是基于注解和接口定义服务消费者的REST客户端,它在RestTemplate基础上封装,简化了服务调用的客户端实现。Feign支持Feign、JAX-RS注解,并允许自定义编码器和解码器。基本使用包括创建项目、添加Feign依赖、定义接口指定依赖服务。Feign的自定义配置允许在接口中使用自定义配置文件,并可以通过url直接指定依赖服务的地址。
摘要由CSDN通过智能技术生成

4.1. Feign是什么?

Feign是在RestTemplate基础上封装的,使用注解和接口来定义服务提供者以及服务提供者的接口,url风格是Rest。
简单点说,Feign 仅仅使用注解@FeignClient和接口(interface),就能定义依赖服务的接口,代替了RestTemplate的功能。

在上面讲解的Spring Cloud Ribbon中,服务消费者访问服务提供者,都是通过RestTemplate来对服务提供者的接口进行访问,
而RestTemplate已经实现了对HTTP请求的封装处理,形成了一套模版化的调用方法。在之前的例子中,
我们只是简单介绍了RestTemplate调用,但是在实际开发中,由于对服务依赖对调用可能不止于一处,
往往一个接口会被多处调用,所以我们通常都会针对各个微服务自行封装一些客户端来包装这些依赖服务的调用。
这个时候我们会发现,由于RestTemplate的封装,几乎每一个调用都是简单的模版化内容。

  1. Feign是什么?Feign是一个声明式的Rest 客户端,即它是在eureka的客户端使用的,url风格是Rest。
  2. Fegin在RestTemplate基础上做了进一步封装,由它来帮助我们定义和实现依赖服务接口的定义。
  3. 在Feign的实现下,我们只需创建一个接口并用注解的方式来配置它,即可完成对服务提供方的接口绑定。
    简化了在使用Spring Cloud Ribbon时自行封装服务调用客户端的开发量。
  4. Spring Cloud Feign具备可插拔的注解支持,包括Feign注解和JAX-RS注解。
    同时,为了适应Spring的广大用户,它在Netflix Feign的基础上扩展了对Spring MVC的注解支持。
  5. 另外,对于Feign自身的一些主要组件,比如编码器和解码器等,它也以可插拔的方式提供,在有需求等时候我们以方便扩张和替换它们。

4.2. Feign的基本使用

1、创建futurecloud-feign项目,添加Feign依赖


 <!--添加Feign依赖-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
    <version>2.0.2.RELEASE</version>
</dependency>

2、在主函数上添加@EnableFeignClient,启动Feign


@SpringBootApplication
@EnableEurekaClient //声明为eureka 客户端
@EnableFeignClients //启动Feign
public class FuturecloudFe
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值