feign的配置

Feign使 用 三 步
1、想要远程调用别的服务
1)、引入open-feign

<dependency>
   <groupId>com.alibaba.cloud</groupId>
   <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

2)、编写一个接口,告诉SpringCloud这个接口需要调用远程服务

@FeignClient("stores")
public interface StoreClient {
	@RequestMapping(method = RequestMethod.GET, value = "/stores")
	List<Store> getStores();

这是要被调用的那个方法

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

1、声明接口的每一个方法都是调用哪个远程服务的那个请求
3)、开启远程调用功能
2、开启@EnableFeignClients 功能 在主启动类上加上注解EnableFeignClients(feign包的路径)

@EnableFeignClients(basePackages = "com.atguigu.gulimall.member.feign")
@EnableDiscoveryClient
@SpringBootApplication
public class GulimallMemberApplication {
    public static void main(String[] args) {
        SpringApplication.run(GulimallMemberApplication.class, args);
    }
}
开始调用
  @RequestMapping("/coupons")
   public R test(){
       MemberEntity memberEntity = new MemberEntity();
       memberEntity.setNickname("张三");

       R membercoupons = couponFeignService.membercoupons();//调用feign包下的接口,从而实现远程调用
       return R.ok().put("member",memberEntity).put("coupons",membercoupons.get("coupons"));
   }

然后就可以测试了
http://localhost:8000/member/member/coupons
调用成功在这里插入图片描述
注意:要将这些服务注册到注册中心才能够调用,可以参考我之前写的nacos的配置以及使用

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐