SpringCloud OpenFeign 远程调用服务接口
- 添加 OpenFeign 依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
- 新建接口CouponFeignService,并在该接口上添加注解@FeignClient("服务名称"),在此接口中声明远程调用的方法名称和请求路径
//这是一个声明式的远程调用
//指明调用哪一个服务
@FeignClient("gulimall-coupon")
public interface CouponFeignService {
@RequestMapping(value = "/coupon/coupon/member/list")
public R memberCoupon();
}
- 在要远程调用的主启动类上添加注解@EnableFeignClients(basePackages = "上述Feign接口的包名称")
//开启远程调用并指明哪个包使用远程调用
@EnableFeignClients(basePackages = "com.fj.gulimall.member.feign")
//开启服务注册发现
@EnableDiscoveryClient
@SpringBootApplication
@MapperScan("com.fj.gulimall.member.dao")
public class MemberApplication {
public static void main(String[] args) {
SpringApplication.run(MemberApplication.class,args);
}
}
4.在Controller中注入CouponFeignService就可以实现远程服务调服务。
@Autowired
CouponFeignService couponFeignService;
@RequestMapping(value = "/coupons")
public R memberCoupon(){
MemberEntity memberEntity = new MemberEntity();
memberEntity.setNickname("张三");
R memberCoupon = couponFeignService.memberCoupon();
return R.ok().put("member",memberEntity).put("coupons",memberCoupon.get("coupons"));
}

浙公网安备 33010602011771号