Feign笔记
远程调用服务
引入open-feign依赖
。。。
将服务注册到注册中心
。。。
开启服务发现
@EnableDiscoveryClient
启动类添加注解
@EnableFeignClients(basePackages = "com.atguigu.gulimall.member.feign")
在basePackages包下新建接口
添加@FeignClient(“gulimall-coupon”)注解说明要调用的服务名
添加调用的方法签名(完整路径)
@FeignClient("gulimall-coupon")
public interface CouponFeignService {
/**
* 1. CouponFeignService.saveSpuBouds(spuBoundTo);
* 1) @RequestBody 将这个对象转为json
* 2) 找到gulimall-coupon服务, 给/coupon/spubounds/save发送请求
* 将上一步转的json放在请求体位置, 发送请求
* 3) 对方服务收到请求, 请求体里有json数据.
* (@RequestBode SpuBoundsEntity spuBounds): 将请求体的json转为SpuBoundsEntity
* 只要json数据模型是兼容的, 双方服务无需使用同一个To
* @param spuBoundTo
* @return
*/
@PostMapping("/coupon/spubounds/save")
R saveSpuBounds(@RequestBody SpuBoundTo spuBoundTo);
@PostMapping("/coupon/skufullreduction/saveinfo")
R saveSkuReduction(@RequestBody SkuReductionTo skuReductionTo);
}
使用
@Autowired
CouponFeignService couponFeignService;
couponFeignService.saveSpuBounds(参数);