当前位置:   article > 正文

使用openFeign调用其他微服务_openfeign调用其他微服务的接口

openfeign调用其他微服务的接口
  1. 微服务模块引入依赖
  	<dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-openfeign</artifactId>
        <version>2.1.0.RELEASE</version>
    </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5

2.提供方的接口

@RestController
@RequestMapping("coupon/coupon")
public class CouponController {
  
    @RequestMapping("/member")
    public R memberCoupons() {
        CouponEntity couponEntity =  new CouponEntity();
        couponEntity.setAmount(new BigDecimal(12));
        couponEntity.setCode("you");
        couponEntity.setCouponName("一张优惠券");
        return R.ok().put("coupons", Arrays.asList(couponEntity));
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

3.在调用方创建一个feign 接口类,里面放入需要调用其他微服务调用的所有接口签名

@FeignClient("mall-coupon")  
public interface CouponFeignService {
    	@RequestMapping("/coupon/coupon/member")
    	public R memberCoupons();
}
//mall-coupon为微服务注册时的application Name
//@RequetMapping里的注解必须为接口详细请求地址
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

4.使用注解@EnableFeignClients开启远程调用功能

@EnableFeignClients(basePackages = "com.sz.mall.member.feign")
@SpringBootApplication
public class MallMemberApplication {

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

}
	
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  1. 调用方接口获取其他服务数据
@RestController
@RequestMapping("member/member")
public class MemberController {
    
    @Autowired
    private CouponFeignService couponFeignService;

    @RequestMapping("/coupons")
    public R getCouponByMember() {
        MemberEntity memberEntity = new MemberEntity();
        memberEntity.setNickname("小怪");

        R memberCoupons = couponFeignService.memberCoupons();
        return R.ok().put("member", memberEntity).put("coupons", memberCoupons.get("coupons"));
    }
	
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

6.测试结果
提供方
调用方

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/84573
推荐阅读
相关标签
  

闽ICP备14008679号