1、引入OpenFeign依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
2、…\coupon\controller\CouponController.java远程服务方法
@RequestMapping("/member/list")
public R membercoupons(){
CouponEntity couponEntity = new CouponEntity();
couponEntity.setCouponName("满100减10");
return R.ok().put("coupons",Arrays.asList(couponEntity));
}
3、…\member\feign\CouponFeignService.java编写接口
@FeignClient("mall-coupon")//告诉SpringCloud这个接口需要调用远程服务
public interface CouponFeignService {
@RequestMapping("/coupon/coupon/member/list")//声明接口的方法都是调用哪个远程服务的哪个请求
public R membercoupons();
}
4、…\member\MallMemberApplication.java启用Feign调用功能
@EnableFeignClients(basePackages="com.jd.mall.member.feign")
@EnableDiscoveryClient
@SpringBootApplication
public class MallMemberApplication {
public static void main(String[] args) {
SpringApplication.run(MallMemberApplication.class, args);
}
}
5、…\member\controller\MemberController.java远程调用
@Autowired
CouponFeignService couponFeignService;
@RequestMapping("/coupons")
public R test(){
MemberEntity memberEntity = new MemberEntity();
memberEntity.setNickname("张三");//本地查询
R membercoupons = couponFeignService.membercoupons();//远程调用
return R.ok().put("member",memberEntity).put("coupons",membercoupons.get("coupons"));
}
6、启动微服务mall-coupon、mall-member,访问localhost:8000/member/member/coupons
{
"msg":"success",
"code":0,
"coupons":[
{
"id":null,
"couponType":null,
"couponImg":null,
"couponName":"100减50",
"num":null,
"amount":null,
"perLimit":null,
"minPoint":null,
"startTime":null,
"endTime":null,
"useType":null,
"note":null,
"publishCount":null,
"useCount":null,
"receiveCount":null,
"enableStartTime":null,
"enableEndTime":null,
"code":null,
"memberLevel":null,
"publish":null
}
],
"member":{
"id":null,
"levelId":null,
"username":null,
"password":null,
"nickname":"张三",
"mobile":null,
"email":null,
"header":null,
"gender":null,
"birth":null,
"city":null,
"job":null,
"sign":null,
"sourceType":null,
"integration":null,
"growth":null,
"status":null,
"createTime":null
}
}
这样,会员服务就成功从优惠卷服务中获取到信息。