Feign是一个由Netflix开发的轻量级RESTful HTTP服务客户端,用于简化和优雅地调用HTTP API。它允许用户通过Java接口注解来发起请求,而不必像传统方式那样手动构建HTTP请求报文。Feign支持Spring Cloud解决方案,使得服务消费者能够像调用本地接口方法一样调用远程服务。使得开发者能够更加便捷地调用HTTP API,而不需要手动处理复杂的网络通信细节。
在Feign中,远程调用可以被视为不同服务之间方法的调用,实质上是两台主机间的网络通信。这个过程涉及到序列化、反序列化、编解码等网络通信相关的技术问题。Feign封装了整个HTTP调用流程,使得它更加符合面向接口化的编程习惯。
一、Feign引入和调用
(这里新建了一个Feign-api模块,专门用于做Feign客户端接口,来调用不同服务)
1、在Feign-api模块中引入Feign依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
2、在Feign-api模块中编写Feign客户端接口,如下UserClient为用