《谷粒商城实战》-8、Spring Cloud-OpenFeign小试牛刀

前言

Spring Cloud-OpenFeign这个组件类似于HTTP组件,只不过是服务之间的调用,你启动了一个服务,想调用另一个服务,要是浏览器来的话,他需要输入URL,我们要是想让服务之间调用的话,可以使用Spring Cloud-OpenFeign,这样就可以省去很多功夫,而且以后分布式框架搭建起来用这个也很方便。此节比较简单

1、引入Spring Cloud-OpenFeign组件

引入这个部分,其实我们在创建服务的时候,我们已经引入了这个服务,只要服务的pom文件中有如下代码就代表引入好了

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

2、配置OpenFeign

首先保证你的向nacos注册了这个服务。OpenFeign和HTTP类似,OpenFeign也有两个角色,请求服务,和相应服务,我们就按视频教程那样搞两个服务,访问会员服务来获取优惠券信息。下面是注册了服务的代码在这里插入图片描述
然后在Controller层注册一个接口,用于返回优惠券的,我们就在CouponController里面写吧
在这里插入图片描述

@RequestMapping("member/list")
public R memebercoupons(){
    CouponEntity couponEntity = new CouponEntity();
    couponEntity.setCouponName("满100减10");
    return R.ok().put("coupon", Arrays.asList(couponEntity) );
}

写完保存,然后写请求的那一方去,在gulimall-member里面写,首先先创建一个包,叫做feign
在这里插入图片描述
然后创建一个JAVA 接口文件,创建完成之后,直接复制此段代码进去

package com.example.gulimall.member.feign;

import com.example.common.utils.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;

@FeignClient("gulimall-coupon")
public interface CouponFeignService {

    @RequestMapping("/coupon/coupon/member/list")
    public R memebercoupons();
}

其中FeignClient(“gulimall-coupon”)代表的就是nacos里面的服务名字,这个名字可以去coupon服务中的application.yml去查看
在这里插入图片描述
在这里插入图片描述
创建好了这个接口文件之后,我们打开member的入口函数,加一行这个代码

@EnableFeignClients(basePackages = "com.example.gulimall.member.feign")

他代表了引入了Feign这个组件,后面的是完整包名,代表了他会去扫描整个包
在这里插入图片描述
写完这个,我们再去写一下Contrller层,简单写个方法,用于获取会员,以及返回coupon服务的方法,上面我们已经创建了一个接口用与访问coupon,接下来我们需要在Contrller调用这个接口即可
在这里插入图片描述
至此,我们已经简单的搭建好了两个服务,以及openFeign,接下来我们先开启nacos
在这里插入图片描述
两个服务还没有启动,我们现在去启动一下在这里插入图片描述在这里插入图片描述

启动好了,我们现在访问一下Member的方法,看看他是否能够获取到coupon的信息(如果返回的信息有满100减10代表就是远程访问了coupon)
在这里插入图片描述
这个就代表了,成功了,至此本节完事

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值