Feign 接口的多态|全球观察
在Feign中,接口多态可以让我们通过一个接口的引用来调用不同的实现类,从而提高代码的灵活性和可扩展性。
(资料图片仅供参考)
在Feign中,接口多态可以让我们通过一个接口的引用来调用不同的实现类,从而提高代码的灵活性和可扩展性。
例如,我们有一个支付服务接口,它有多种支付方式,我们可以使用接口多态来实现这些支付方式的调用。
首先,我们需要定义一个支付服务接口,其中包含了多种支付方式的方法。
public interface PaymentService { @PostMapping("/pay") PaymentResponse pay(@RequestBody PaymentRequest request);}public class PaymentRequest { private String paymentType; private Double amount; //...}public class PaymentResponse { private String status; private String message; //...}
在上面的示例中,我们定义了一个名为PaymentService的接口,其中包含了支付方法pay,并定义了请求参数PaymentRequest和响应参数PaymentResponse。
接下来,我们可以实现支付服务接口,针对不同的支付方式提供不同的实现。
@FeignClient(name = "alipay-service")public interface AlipayService extends PaymentService {}@FeignClient(name = "wechatpay-service")public interface WechatpayService extends PaymentService {}
在上面的示例中,我们分别定义了支付宝支付服务和微信支付服务,它们都实现了PaymentService接口,从而可以使用接口多态来调用不同的支付方式。
最后,我们可以使用接口多态来调用不同的支付方式,例如:
public class PaymentController { private PaymentService paymentService; public PaymentController(PaymentService paymentService) { this.paymentService = paymentService; } @PostMapping("/pay") public PaymentResponse pay(@RequestBody PaymentRequest request) { return paymentService.pay(request); }}@RestControllerpublic class AlipayController { private PaymentController paymentController; public AlipayController(AlipayService alipayService) { paymentController = new PaymentController(alipayService); } @PostMapping("/alipay/pay") public PaymentResponse pay(@RequestBody PaymentRequest request) { return paymentController.pay(request); }}@RestControllerpublic class WechatpayController { private PaymentController paymentController; public WechatpayController(WechatpayService wechatpayService) { paymentController = new PaymentController(wechatpayService); } @PostMapping("/wechatpay/pay") public PaymentResponse pay(@RequestBody PaymentRequest request) { return paymentController.pay(request); }}
在上面的示例中,我们定义了一个名为PaymentController的控制器,它接收一个PaymentService接口的实现类,并提供了一个名为pay的方法来调用支付服务。
然后,我们分别定义了支付宝控制器和微信支付控制器,并将它们的构造函数注入了AlipayService和WechatpayService接口的实现类,从而使用接口多态来调用不同的支付方式。
关键词:
在Feign中,接口多态可以让我们通过一个接口的引用来调用不同的实现类,从而提高代码的灵活性和可扩展性。
一、侵犯商业秘密罪的法律特征有哪些内容侵犯商业秘密罪的法律特征有以下内容:1 侵权行为人具有主观恶意;2 侵权行为具有违
据南方+消息,2022年,惠州的新能源电池产业产值866 7亿元,同比增长22 19%,今年3月,惠州新能源电池集群上榜2023中国百强产业集群,预计今年
以下是鼎际得在北京时间4月10日10:18分盘口异动快照:4月10日,鼎际得盘中跌幅达5%,截至10点18分,报58 58元,成交1 27亿元,换手率6 30%。注
不管什么东西都想往里塞,万物皆可装,只要能关上门。杂乱无章的冰箱,生食熟食混放,冷藏冷冻颠倒,被各种塑料袋填满,这也造成了冰箱内部冷
两地入选2022城市营商环境创新县(市)——泉州县域经济重塑竞争优势鸿日光学技术车间美丽的黄金海岸近日,《2022城市营商环境创新报告》(简
特斯拉(TSLA US)将在上海新建一家电池厂,专门生产该公司的储能产品Megapack,该工厂是其在上海的电动汽车工厂的补充。这座储能超级工厂将会是
18岁就要是成年了,在这个值得纪念的日子,可以送一些精致的礼物,如果是成年人,或是送一些有意义的礼物,比较好看。可以送
原标题:一季度全国铁路完成固定资产投资1135 5亿元中工网北京4月9日电(工人日报-中工网记者刘静)记者从中国国家铁路集团有限公司(下称“国
首日比赛,国乒四战全胜,马龙、林诗栋、陈梦、王曼昱晋级单打16强。第四局,马龙在以9比8领先的情况下连丢3分,卡尔伯格以11比9扳回一局。女
红网时刻新闻4月9日讯(通讯员周新文)4月8日,炎陵护鸟营、炎陵县公益志愿者协会组织18名护鸟志愿者,前往罗霄山脉中段大院农场和江西坳万亩
4月9日晚间,索菲亚(002572)发布2022年年报,公司去年实现营业收入112 23亿元,同比增长7 84%;净利润10 64亿元,同比增长768 28%;扣非后净利
2020年,中曼石油的控股股东上海中曼投资控股有限公司(朱逢学持股56 32%),质押了600多万元中曼石油股权,2021年,又质押了1 43亿元中曼石
周五两市继续震荡反弹反弹,但指数和板块表现出现了变化,早盘指数开盘涨跌不一,开盘后继续分化,但之前超跌的创新药、房地产等板块走强,推
1、口袋妖怪漆黑的魅影5 0拉鲁拉丝进化成艾路雷朵具体情况如下:1 拉鲁拉斯在30级时,用觉醒石可进化为艾路雷朵。2、2
曹操给曹丕留下三名大将,只要其中一人不死,司马懿绝不敢篡权,三国时期的不少的能人志士涌现出来。其中曹操就是一位大家津津乐道的人物。不少
孝昌:来自“远方”的“嘱托”---“老同学身体好点没啊。咱们村可都靠你了,要注意身体啊,这是我对村里老人的一点心意,希望咱们村的幸福食堂
送一束鲜花吧,代表着成人们美好的祝福。也可以根据自己的经济实际情况,如果想要送,可以考虑送一束玫瑰,代表一生一世的爱。如
1、怵怵chù,部首:忄部首笔画:3总笔画:8怵chù【动】(形声。2
陕西群众足球甲级联赛商洛赛区开赛,200余名足球运动员参加