携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第20天,点击查看活动详情
前面我们把good-list和good-price子模块都已经成功注册到Eureka Server中了,如果我想在good-price中调用商品列表 good-list,那么我们该如何进行服务之间的调用呢?各位老铁,认真听讲,我带着大家一起来学习一下吧
1.我们想在good-price调用good-list的服务,首先我们得在good-price的pom.xml引入feign依赖
<!-- 1.引入feign依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
2.在good-price项目的 GoodPriceApplication文件中,引入开启FeignClients注解
//2.引入注解
@EnableFeignClients
3.在good-price的com.imooc.good中新建client包,并且新建GoodListClient接口类来定义GoodListClient客户端
@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服务名
2.GoodListClient定义为interface并且把之前good-list的控制器方法定义在GoodListClient接口类
3.刚引进来会报错,我们得把good-list模块引用到pom.xml文件中
成功引用之后,good-price的pom.xml文件多了good-list模块
4.服务间的调用
我们在good-price控制器中进行测试
5.重新启动三个服务
6.在浏览器中访问
http://localhost:8083/goodsInPrice
刷新页面之后:
看到以上界面,说明我们已经成功实现good-price调用good-list的服务了