SpringCloud-Feign(远程调用)

1.简要说明

1 想要调用别的服务
1)、引入open-feign
2)、编写一个接口告诉SpringCloud这个接口需要调用的远程服务
1.声明接口的每一个方法都是调用远程服务
3)、开启远程调用功能

2.引入open-feign
<dependency>
  		<groupId>org.springframework.cloud</groupId>
  		<artifactId>spring-cloud-starter-openfeign</artifactId>
  	</dependency>
3.编写远程调用controller
@RequestMapping("/member/list")
  public R memberCoupons(){
      SmsCouponEntity smsCouponEntity = new SmsCouponEntity();
      smsCouponEntity.setCouponName("testname");
      return R.ok().put("coupons",Arrays.asList(smsCouponEntity));
  }
4. 编写远程调用接口类
package com.lg.sgg.member.feign;

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

/**
* Date:2020/11/7
* 这是一个申明式的远程调用
* @author:lg
*/
// 生命调用哪一个远程
@FeignClient("sgg-sms")
public interface CouponFeignService {
  /**
   * 远程调用要指明全路径映射访问地址
   * @return
   */
  @RequestMapping("/coupon/smscoupon/member/list")
  public R memberCoupons();
}

5. 编写调用远程的controller方法
@RestController
@RequestMapping("member/umsmember")
public class UmsMemberController {
   @Autowired
   private UmsMemberService umsMemberService;

   @Autowired
   private CouponFeignService couponFeignService;

   @RequestMapping("/coupons")
   public R testFeign(){
       UmsMemberEntity umsMemberEntity = new UmsMemberEntity();
       umsMemberEntity.setCity("guangzhou");
       umsMemberEntity.setEmail("qq.com");
       R r = couponFeignService.memberCoupons();

       return R.ok().put("member",umsMemberEntity).put("coupons",r.get("coupons"));
   }
 }
6.开启服务注册与发现并写生命哪个包下是调用远程的接口
package com.lg.sgg.member;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;

/**
* 1 想要调用别的服务
*  1)、引入open-feign
*  2)、编写一个接口告诉SpringCloud这个接口需要调用的远程服务
*      1.声明接口的每一个方法都是调用远程服务
*  3)、开启远程调用功能
*/
@EnableFeignClients(basePackages = "com.lg.sgg.member.feign")
@EnableDiscoveryClient
@SpringBootApplication
public class SggMenberApplication {

   public static void main(String[] args) {
   	SpringApplication.run(SggMenberApplication.class, args);
   }

}

7.访问测试

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值