本发明专利技术提出了一种API接口报文在线配置的方法及系统,涉及API接口适配技术领域。本发明专利技术基于产品接口开发联调过程,抽象出服务方接口的请求参数,然后通过Java反射实现与目标公司接口字段的映射,并可以在管理页面对接口字段进行配置。另外,通过合理设计表结构,在报文组装和解析过程中统一处理接口信息,从而减少代码开发量,便于后期的更新维护。便于后期的更新维护。便于后期的更新维护。
【技术实现步骤摘要】
一种API接口报文在线配置的方法及系统
[0001]本专利技术涉及API接口适配
,具体而言,涉及一种API接口报文在线配置的方法及系统。
技术介绍
[0002]应用程序接口(API)是利用预先设定的定义、程序以及协议的集合,实现计算机软件之间相互通信的中间件。目前,用户在互联网上的信息查询、数据上传等操作大多需要通过API来实现服务请求端与服务提供端之间的指令转换,因此需要服务请求端和服务提供端采用同一套接口组件方案(即接口报文),但是在实际操作过程中,存在服务请求端拥有自己定义的接口组件方案的情况,该接口组件方案往往和服务提供端采用的接口组件方案不同,到时服务请求端和服务供应端的接口难以匹配,这就需要将服务请求端的接口组件方案或服务提供端的接口组件方案进行转换,使其保持一致,实现数据传输,由此催生出了接口报文的转换技术。
[0003]例如,在进行保险产品对接时,每个保险公司会有不同的API接口,甚至每个产品类别接口标准也不一致。如果每个产品接口都开发一遍,工作量较大,且开发周期较长。后续产品变动,则需对应修改代码,再发版生效,维护起来较为复杂,排查起来费时费力。因此,如何实现对接口和产品信息的配置化成为了一个亟待解决的问题。
技术实现思路
[0004]本专利技术的目的在于提供一种API接口报文在线配置的方法及系统,基于API接口交互,抽象报文结构,实现接口字段配置化,减少代码开发量。
[0005]本专利技术的实施例是这样实现的:
[0006]第一方面,本申请实施例提供一种API接口报文在线配置的方法,其包括:
[0007]将目标公司的接口信息、根节点信息和叶子结点信息分别存储至对应的数据表中;
[0008]基于数据表,分别封装接口请求参数对象,形成根节点集合lsit1和叶子节点集合lsit2;
[0009]组装入参对象的字段集合fieldMapList和根节点tagMap;
[0010]将字段集合fieldMapList和根节点tagMap中的信息与上述根节点集合lsit1和叶子节点集合lsit2中的信息进行匹配,形成新叶子节点newfieldMap;
[0011]将新叶子节点newfieldMap转换成与目标公司对应的json格式/xml格式的报文;
[0012]结合上述接口信息,将上述报文装载到接口报文体,得到接口报文。
[0013]基于第一方面,在本专利技术的一些实施例中,上述将目标公司的接口信息、根节点信息和叶子结点信息分别存储至对应的数据表中的步骤包括:
[0014]获取目标公司的接口报文信息;
[0015]将报文进行拆分,得到接口信息、根节点信息和叶子节点信息;上述叶子节点信息
包含与根节点的对应关系信息;
[0016]将接口信息、根节点信息和叶子结点信息分别存储至对应的数据表中。
[0017]基于第一方面,在本专利技术的一些实施例中,上述叶子节点集合lsit2包括:每个叶子节点对应的根节点、入参字段名称、字段内容以及目标公司字段名称。
[0018]基于第一方面,在本专利技术的一些实施例中,上述组装入参对象的字段集合fieldMapList和根节点tagMap的步骤包括:
[0019]利用Java的反射特性读取参数对象的相关字段信息并进行封装,形成字段集合fieldMapList和根节点tagMap;上述字段集合fieldMapList包括入参字段名称key、字段内容value以及上级节点名称tag。
[0020]基于第一方面,在本专利技术的一些实施例中,上述将字段集合fieldMapList和根节点tagMap中的信息与上述根节点集合lsit1和叶子节点集合lsit2中的信息进行匹配,形成新叶子节点newfieldMap的步骤包括:
[0021]将字段集合fieldMapList和根节点tagMap中的信息与上述根节点集合lsit1和叶子节点集合lsit2中的信息进行匹配;
[0022]当根节点信息和叶子结点信息都匹配时,将叶子节点集合lsit2中的目标公司字段名称作为新的入参字段名称key1,将字段集合fieldMapList中的字段内容value赋值到key1的value1,并将key1和value1装载到根节点tagMap中;
[0023]将上级节点名称tag作为key,根节点tagMap作为value,组装形成新叶子节点newfieldMap。
[0024]第二方面,本申请实施例提供一种API接口报文在线配置的系统,其包括:
[0025]数据表存储模块,用于将目标公司的接口信息、根节点信息和叶子结点信息分别存储至对应的数据表中;
[0026]对象封装模块,用于基于数据表,分别封装接口请求参数对象,形成根节点集合lsit1和叶子节点集合lsit2;
[0027]对象字段组装模块,用于组装入参对象的字段集合fieldMapList和根节点tagMap;
[0028]配置模块,用于将字段集合fieldMapList和根节点tagMap中的信息与上述根节点集合lsit1和叶子节点集合lsit2中的信息进行匹配,形成新叶子节点newfieldMap;
[0029]转换模块,用于将新叶子节点newfieldMap转换成与目标公司对应的json格式/xml格式的报文;
[0030]装载模块,用于结合上述接口信息,将上述报文装载到接口报文体,得到接口报文。
[0031]第三方面,本申请实施例提供一种电子设备,其包括存储器,用于存储一个或多个程序;处理器。当上述一个或多个程序被上述处理器执行时,实现如上述第一方面中任一项上述的方法。
[0032]第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面中任一项上述的方法。
[0033]相对于现有技术,本专利技术的实施例至少具有如下优点或有益效果:
[0034]本申请实施例提供一种API接口报文在线配置的方法及系统,首先,将目标公司的
接口信息、根节点信息和叶子结点信息分别存储至对应的数据表中,并基于数据表,分别封装接口请求参数对象,形成根节点集合lsit1和叶子节点集合lsit2。然后,组装入参对象的字段集合fieldMapList和根节点tagMap,并将字段集合fieldMapList和根节点tagMap中的信息与上述根节点集合lsit1和叶子节点集合lsit2中的信息进行匹配,形成新叶子节点newfieldMap。之后,将新叶子节点newfieldMap转换成与目标公司对应的json格式/xml格式的报文,并结合上述接口信息,将上述报文装载到接口报文体,得到接口报文。整体而言,本申请基于产品接口开发联调过程,抽象出服务方接口的请求参数,并通过Java反射实现对方(目标公司)接口字段的映射。另外,通过合理设计表结构,可以在管理页面对接口字段进行配置,在报文组装和解析过程中统一处理本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种API接口报文在线配置的方法,其特征在于,包括:将目标公司的接口信息、根节点信息和叶子结点信息分别存储至对应的数据表中;基于数据表,分别封装接口请求参数对象,形成根节点集合lsit1和叶子节点集合lsit2;组装入参对象的字段集合fieldMapList和根节点tagMap;将字段集合fieldMapList和根节点tagMap中的信息与所述根节点集合lsit1和叶子节点集合lsit2中的信息进行匹配,形成新叶子节点newfieldMap;将新叶子节点newfieldMap转换成与目标公司对应的json格式/xml格式的报文;结合所述接口信息,将所述报文装载到接口报文体,得到接口报文。2.如权利要求1所述的一种API接口报文在线配置的方法,其特征在于,所述将目标公司的接口信息、根节点信息和叶子结点信息分别存储至对应的数据表中的步骤包括:获取目标公司的接口报文信息;将报文进行拆分,得到接口信息、根节点信息和叶子节点信息;所述叶子节点信息包含与根节点的对应关系信息;将接口信息、根节点信息和叶子结点信息分别存储至对应的数据表中。3.如权利要求1所述的一种API接口报文在线配置的方法,其特征在于,所述叶子节点集合lsit2包括:每个叶子节点对应的根节点、入参字段名称、字段内容以及目标公司字段名称。4.如权利要求3所述的一种API接口报文在线配置的方法,其特征在于,所述组装入参对象的字段集合fieldMapList和根节点tagMap的步骤包括:利用Java的反射特性读取参数对象的相关字段信息并进行封装,形成字段集合fieldMapList和根节点tagMap;所述字段集合fieldMapList包括入参字段名称key、字段内容value以及上级节点名称tag。5.如权利要求4所述的一种API接口报文在线配置的方法,其特征在于,所述将字段集合fieldMapList和根节点tagMap中的信息与所述根节点集合lsit1和...
【专利技术属性】
技术研发人员:王辉,
申请(专利权)人:天翼电子商务有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。