Feign同时也是springcloud的一个组件,主要进行各个微服务之间的调用。因为在目前项目中还未涉及到微服务开发这块,但是自己简单的研究了下,我们一起来探讨下:在上一节的内容中,Euerka主要是对一些微服务进行注册和发现,那么我们想下,如果单纯的对微服务进行注册和发现,接下来我们怎将这些微服务进行组合起来,就是各个微服务之间的调用呢?Feign在这里可以解决这个问题。
举例:目前有2个微服务,一个是微服务A,另一个是微服务B,需求是,我们需要用微服务A去调用微服务B中的findById(String id)方法。
步骤:
1.首先我们需要在微服务A加入 Feign的依赖:【因为我们需要用feign组件,必须需要加入依赖,才能去使用】
<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-openfeign -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>2.1.0.RELEASE</version>
</dependency>
2.在微服务A的启动类加入注解:
@EnableDiscoveryClient :表示发现微服务客户端
@EnableFeignClients:表示使用 Feign的客户端