springboot多态_springboot 同一请求入口,根据不同入参用不同实体类接收&调用不同接口实现类(枚举、泛型、多态综合运用)...

本文探讨了如何在SpringBoot中实现同一请求入口处理不同接口调用,通过枚举、泛型和多态的综合运用,提高代码的可维护性和灵活性。通过枚举接收接口名并注入相应业务实现类,利用@JsonTypeInfo和@JsonSubTypes实现不同请求参数的实体类动态匹配,从而简化接口调用逻辑。
摘要由CSDN通过智能技术生成

1.情景展示

请求入参:

这是一个对外提供的请求总入口,入参interfaceMethod对应不同的接口名称,具体的接口请求参数封装到xcParams里面。

对外只提供一个接口,而不是不同接口提供不同地址,这样一来,无论是接口提供方还是接口调用方只要遵循这种规范,就可以完成不同接口的调用,也利于后期接口的启用、禁用、扩展新接口,提高系统的可维护性。

像这样,用实体类接收到请求入参,获取将要调取的接口方法,根据不同接口名称匹配调用不同的业务实现类进行业务处理。

2.现状分析

在实际开发过程中,公司与公司之间或者公司内部项目与项目之间往往会存在这种需求,A提供接口,B调用接口,如果是多个接口,那么就想上面那样搞一个总入口就可以了。

使用switch判断具体需要调用哪一个接口,以及负责处理的业务实现类就可以了。

以上的代码是完全没有问题的,已经满足了实际业务需要,这种入门级的代码,基本不要动什么脑子;

但是,如果我们想要使用高逼格的代码实现这种功能,能够让我们用更多java知识应用到实际开发过程中,学以致用,使自己的能力得到升华,换句话说就是:想装X,请欣赏下面的高逼格代码。

(其实,对于产品来说,不管你是低级代码还是高级代码实现,只要能满足产品需求就是OK的,这一点我们一定要摆好自己位置,不能沾沾自喜)

3.高级代码实现

先看效果

请求入参使用了泛型控制,不同接口使用不同实体类接收

调对应接口时,一行代码搞定,无需手动加判断该调哪个业务实现类。

想实现这种效果,就继续往下看哈。

用实体类接收请求入参是本文的重中之重,先来看一下

第一,注解@Getter、@Setter;

使用的是lombok插件,其作用

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值