掘金日新计划 · 8 月更文挑战第20天--Feign服务间的调用

64 阅读1分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第20天,点击查看活动详情

前面我们把good-list和good-price子模块都已经成功注册到Eureka Server中了,如果我想在good-price中调用商品列表 good-list,那么我们该如何进行服务之间的调用呢?各位老铁,认真听讲,我带着大家一起来学习一下吧

1.我们想在good-price调用good-list的服务,首先我们得在good-price的pom.xml引入feign依赖

image.png

<!--        1.引入feign依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>

2.在good-price项目的 GoodPriceApplication文件中,引入开启FeignClients注解

image.png

//2.引入注解
@EnableFeignClients

3.在good-price的com.imooc.good中新建client包,并且新建GoodListClient接口类来定义GoodListClient客户端

image.png

@FeignClient("good-list")
public interface GoodListClient {
    @GetMapping("/goods")
     List<Good> goodList();
}

解释一下代码:
1.@FeignClient("good-list") good-list 其中good-list是我们之前在good-list的application.properties的spring.application.name服务名 image.png 2.GoodListClient定义为interface并且把之前good-list的控制器方法定义在GoodListClient接口类 image.png 3.刚引进来会报错,我们得把good-list模块引用到pom.xml文件中 image.png 成功引用之后,good-price的pom.xml文件多了good-list模块 image.png

4.服务间的调用

image.png 我们在good-price控制器中进行测试

5.重新启动三个服务

image.png

6.在浏览器中访问

http://localhost:8083/goodsInPrice 刷新页面之后: image.png 看到以上界面,说明我们已经成功实现good-price调用good-list的服务了