CN114942750A - 对外接口的字段处理方法和装置 - Google Patents
对外接口的字段处理方法和装置 Download PDFInfo
- Publication number
- CN114942750A CN114942750A CN202210556610.4A CN202210556610A CN114942750A CN 114942750 A CN114942750 A CN 114942750A CN 202210556610 A CN202210556610 A CN 202210556610A CN 114942750 A CN114942750 A CN 114942750A
- Authority
- CN
- China
- Prior art keywords
- interface
- data
- field
- external interface
- fields
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000012545 processing Methods 0.000 title claims abstract description 30
- 238000003672 processing method Methods 0.000 claims abstract description 9
- 238000007781 pre-processing Methods 0.000 claims description 40
- 238000004806 packaging method and process Methods 0.000 claims description 27
- 238000013507 mapping Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 230000001131 transforming effect Effects 0.000 claims 1
- 238000012423 maintenance Methods 0.000 abstract description 8
- 238000011161 development Methods 0.000 abstract description 7
- 238000012216 screening Methods 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000005012 migration Effects 0.000 description 4
- 238000013508 migration Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000005065 mining Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种对外接口的字段处理方法和装置。其中,该方法包括:获取调用对外接口的访问地址;从数据库中获取与所述访问地址匹配的字段模板,其中,所述字段模板中定义有多个接口字段和对应的多个字段值格式;获取所述对外接口的底层接口数据;以及根据所述字段模板中定义的接口字段和对应的字段值格式,对所述底层接口数据中包含的接口字段和对应的字段值进行处理,得到针对所述对外接口的调用请求的接口返回数据。能够使用模板筛选需要用到的字段,避免了数据接口增改字段对对外接口的影响。仅仅需要编写调用接口的代码部分,加快了代码开发速度,提高了效率,节约了维护成本。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种对外接口的字段处理方法和装置。
背景技术
在对外提供接口时,基于节省成本、方便统一维护等考虑,需要与C端、APP复用相同的底层数据接口。数据接口经常需要增加和修改字段,而这些字段会透传到外部的接口使用方,造成使用方处理错误,甚至出现系统崩溃,同时也会导致本应收费获取的字段被免费获取的情况出现,造成公司损失。因此需要使用技术手段对字段进行处理。
目前处理字段的方式是在对外接口中对额外的字段进行去除,该实现方案的劣势是修改底层接口时同时要进行对外接口的维护,增加了维护成本,也容易因为沟通问题导致字段遗漏。同时由于平台现存接口较多,迁移开发难度较大。
发明内容
本公开的实施例提供了一种对外接口的字段处理方法和装置,以至少解决现有技术中存在的目前修改底层接口时同时要进行对外接口的维护,增加了维护成本,也容易因为沟通问题导致字段遗漏。同时由于平台现存接口较多,迁移开发难度较大的技术问题。
根据本公开实施例的一个方面,提供了一种对外接口的字段处理方法,所述方法包括:获取调用对外接口的访问地址;
从数据库中获取与所述访问地址匹配的字段模板,其中,所述字段模板中定义有多个接口字段和对应的多个字段值格式;
获取所述对外接口的底层接口数据;以及
根据所述字段模板中定义的接口字段和对应的字段值格式,对所述底层接口数据中包含的接口字段和对应的字段值进行处理,得到针对所述对外接口的调用请求的接口返回数据。
可选地,其中,根据所述字段模板中定义的接口字段和对应的字段值格式,对所述底层接口数据中包含的接口字段和对应的字段值进行处理,得到针对所述对外接口的调用请求的接口返回数据,包括:
根据所述字段模板中定义的接口字段和对应的字段值格式,生成对应的空数据实体;
根据由所述字段模板中定义的接口字段和对应的字段值格式构成的标准数据结构,将由所述底层接口数据中包含的接口字段和对应的字段值构成的原始数据结构转换为符合所述标准数据结构的目标数据结构;以及
将所述目标数据结构中的数据实体一一对应填充在所述空数据实体中,得到针对所述对外接口的调用请求的接口返回数据。
可选地,根据所述标准数据结构对所述原始数据结构进行转换,包括以下中的至少之一:驼峰命名与下划线命名的转换,字段名映射,跨层级字段映射。
可选地,还包括:
在得到所述接口返回数据后,对所述接口返回数据进行外层包装后返回。
可选地,其中:
根据对应的包装工厂类,对所述接口返回数据进行外层包装后返回。
可选地,还包括:
根据所述字段模板中配置的包装类型,为所述对外接口挑选出对应的包装工厂类。
可选地,还包括:获取所述对外接口的底层接口数据后,对获取的所述底层接口数据进行预处理,其中,
所述底层接口数据的预处理方法,包括:
获取所述对外接口的预处理方案;
根据获取的预处理方案,生成所述对外接口专用的数据预处理责任链;
通过所述数据预处理责任链,对所述底层接口数据进行预处理。
可选地,其中:
通过读取所述对外接口的预处理方法名上的注释匹配,以获取所述对外接口的预处理方案。
根据本申请的另一个方面,还提供了一种对外接口的字段处理装置,所述装置包括:
获取访问地址模块,用于获取调用对外接口的访问地址;
获取字段模板模块,用于从数据库中获取与所述访问地址匹配的字段模板,其中,所述字段模板中定义有多个接口字段和对应的多个字段值格式;
获取底层接口数据模块,用于获取所述对外接口的底层接口数据;以及
得到接口返回数据模块,用于根据所述字段模板中定义的接口字段和对应的字段值格式,对所述底层接口数据中包含的接口字段和对应的字段值进行处理,得到针对所述对外接口的调用请求的接口返回数据。
根据本发明实施例的另一个方面,提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述任一项所述的方法。
根据本发明实施例的另一个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于执行本发明上述任一实施例所述的方法。
根据本发明实施例的另一个方面,提供了一种计算机程序,包括计算机可读代码,当所述计算机可读代码在设备上运行时,所述设备中的处理器用于实现上述中任一项所述的方法。
本发明的方法能够使用模板筛选需要用到的字段,避免了数据接口增改字段对对外接口的影响。仅仅需要编写调用接口的代码部分,加快了代码开发速度,提高了效率,节约了维护成本。解决了修改底层接口时同时要进行对外接口的维护,增加了维护成本,也容易因为沟通问题导致字段遗漏。同时由于平台现存接口较多,迁移开发难度较大的技术问题。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
图1为根据本发明一示例性实施例提供的对外接口的字段处理方法100的流程图;
图2为根据本发明一示例性实施例提供的根据所述字段模板中定义的接口字段和对应的字段值格式,对所述底层接口数据中包含的接口字段和对应的字段值进行处理,得到针对所述对外接口的调用请求的接口返回数据的方法200的流程图;
图3为根据本发明一示例性实施例提供的底层接口数据的预处理方法300的流程图;
图4是根据本发明一示例性实施例提供的对外接口的字段处理装置400的结构示意图;
图5是本发明一示例性实施例提供的电子设备的结构。
具体实施方式
下面,将参考附图详细地描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
本领域技术人员可以理解,本发明实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本发明实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本发明实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本发明中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本发明中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本发明对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本发明实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
示例性方法
图1是本发明一示例性实施例提供的一种对外接口的字段处理方法100的流程示意图。本实施例可应用在电子设备上,如图1所示,包括以下步骤:
步骤101,获取调用对外接口的访问地址。
具体地,接收对外接口的访问,获取该访问的唯一地址url,以便根据该唯一地址url从数据库中确定相应的字段模板。
步骤102,从数据库中获取与所述访问地址匹配的字段模板,其中,所述字段模板中定义有多个接口字段和对应的多个字段值格式。
具体地,字段模板以json的方式存储在数据库中,较为灵活,使用一个字段定义节点属性,典型的节点属性有:字符串、数字、日期、实体、列表、嵌套等。
对于节点的具体属性,使用[类型+:+具体类型]的方式进行记录,例如在记录日期时,使用date:yyyy-MM-dd的方式记录,这样可以满足不同格式的数据输出。
通过节点属性的组合,定义出返回数据的具体格式。
进一步地,从数据库中获取与唯一地址url匹配的字段模板考虑到系统运行在高并发场景,本方案中使用缓存的方式存储了字段模板,减小数据库压力。可在接口说明中使用该模板进行解析和展示,提供给客户准确的数据结构。
如果从数据库中找不到与该唯一地址url匹配的字段模板,,在某些特殊接口中需要将直接返回对外接口的数据。
步骤103,获取所述对外接口的底层接口数据。
具体地,数据来源为底层数据接口,以内部调用的方式获取底层接口数据。
步骤104,根据所述字段模板中定义的接口字段和对应的字段值格式,对所述底层接口数据中包含的接口字段和对应的字段值进行处理,得到针对所述对外接口的调用请求的接口返回数据。
具体地,通过从所述数据库中获取的以json的方式存储的字段模板,将字段模板从json方式转换为字段模板map结构,对底层接口数据中包含的接口字段和对应的字段值进行处理,得到针对所述对外接口的调用请求的接口返回数据。
为了得到针对所述对外接口的调用请求的接口返回数据。图2是本发明一示例性实施例提供的根据所述字段模板中定义的接口字段和对应的字段值格式,对所述底层接口数据中包含的接口字段和对应的字段值进行处理,得到针对所述对外接口的调用请求的接口返回数据的方法的流程示意图。如图2所示,根据所述字段模板中定义的接口字段和对应的字段值格式,对所述底层接口数据中包含的接口字段和对应的字段值进行处理,得到针对所述对外接口的调用请求的接口返回数据,包括:
步骤201,根据所述字段模板中定义的接口字段和对应的字段值格式,生成对应的空数据实体;
步骤202,根据由所述字段模板中定义的接口字段和对应的字段值格式构成的标准数据结构,将由所述底层接口数据中包含的接口字段和对应的字段值构成的原始数据结构转换为符合所述标准数据结构的目标数据结构;以及
步骤203,将所述目标数据结构中的数据实体一一对应填充在所述空数据实体中,得到针对所述对外接口的调用请求的接口返回数据。
具体地,根据字段模板生成一个空的数据实体,将字段模板从之前的json格式解析为map结构,将底层数据实体从实现原始map结构转化到模板对应map结构的转化。
根据模板生成一个空的数据实体,将完成预处理的底层接口数据根据分层和key值映射到空数据实体中,即根据实体对数据实体中的数据进行挑选填充。
此时,字段模板和原始数据都是map结构,并且是相互对应的。例如,以键值对key-value的方式为例进行阐述,将底层数据的数据实体key一一填充到字段模板的空数据实体value中,得到针对所述对外接口的调用请求的接口返回数据。
优选地,根据所述标准数据结构对所述原始数据结构进行转换,包括以下中的至少之一:驼峰命名与下划线命名的转换,字段名映射,跨层级字段映射。
具体地,将底层接口数据从原始map结构到模板对应map结构的转化包括以下但不仅限于几种:
1、驼峰命名与下划线命名相互转化:由于对外接口中普遍采用“xxx_xx”的下划线命名方式,内部数据交互采用“xxxXx”的驼峰命名方式。因此,在map结构中进行遍历,将所有驼峰命名的节点进行复制,并将key变更为“xxx_xx”的下划线命名方式。
2、字段名映射:由于原始数据字段名与模板定义不完全一致,因此需要对数据进行映射。使用配置文件对需要转换的节点key进行配置,在进行数据处理时,根据配置复制原始数据中对应节点,并将key变更为配置文件中定义的新节点key。
3、不同层级间的字段映射:由于原始数据字段与模板定义的层级可能有区别,因此,有可能需要跨层级对数据进行映射。在配置文件中使用“.”进行层级间隔,例如“a.b=c”代表第一层a字段下的b字段需要映射到第一层的c字段上。采用的处理方法是在原数据中找到a.b节点后,将数据复制到第一层的c中。在处理层级字段映射中,可能存在下层节点是列表的情况,例如“a.b=c”中,b是列表的类型,此时,默认把b中的第一个元素复制到c字段中。
优选地,还包括:
在得到所述接口返回数据后,对所述接口返回数据进行外层包装后返回。
优选地,根据对应的包装工厂类,对所述接口返回数据进行外层包装后返回。
具体地,由于各版本接口返回数据的包装方式不同,因此需要根据接口模板中配置的包装类型挑选不同的包装工厂类,将数据交由该工厂进行处理。
优选地,还包括:
根据所述字段模板中配置的包装类型,为所述对外接口挑选出对应的包装工厂类。
优选地,还包括:获取所述对外接口的底层接口数据后,对获取的所述底层接口数据进行预处理,其中,
为了得到底层接口数据的预处理方法。图3是本发明一示例性实施例提供的底层接口数据的预处理方法的流程示意图。如图3所示,底层接口数据的预处理方法,包括:
步骤301,获取所述对外接口的预处理方案;
步骤302,根据获取的预处理方案,生成所述对外接口专用的数据预处理责任链;
步骤303,通过所述数据预处理责任链,对所述底层接口数据进行预处理。
具体地,以内部调用的方式获取底层接口数据。使用责任链模式对数据进行预处理。每个接口需要进行的预处理方案使用注解的方式配置在方法名上,实现对每个接口数据的灵活处理。
优选地,其中:
通过读取所述对外接口的预处理方法名上的注释匹配,以获取所述对外接口的预处理方案。
具体地,使用切面的方式读取方法的注解配置,生成一个接口专用的数据预处理链,并把数据交给该处理链进行处理。
从而,使用模板筛选需要用到的字段,避免了数据接口增改字段对对外接口的影响。仅仅需要编写调用接口的代码部分,加快了代码开发速度,提高了效率,节约了维护成本。解决了修改底层接口时同时要进行对外接口的维护,增加了维护成本,也容易因为沟通问题导致字段遗漏。同时由于平台现存接口较多,迁移开发难度较大的技术问题。
示例性装置
图4是本发明一示例性实施例提供的一种对外接口的字段处理装置400的结构示意图。如图4所示,本实施例包括:
获取访问地址模块410,用于获取调用对外接口的访问地址。
获取字段模板模块420,用于从数据库中获取与所述访问地址匹配的字段模板,其中,所述字段模板中定义有多个接口字段和对应的多个字段值格式。
获取底层接口数据模块430,用于获取所述对外接口的底层接口数据。以及
其中,获取底层接口数据模块430,包括:
获取预处理方案单元,用于获取所述对外接口的预处理方案;
生成数据预处理责任链单元,用于根据获取的预处理方案,生成所述对外接口专用的数据预处理责任链;
预处理底层接口数据单元,用于通过所述数据预处理责任链,对所述底层接口数据进行预处理。
其中,获取预处理方案单元,包括:
获取预处理方案子单元,用于通过读取所述对外接口的预处理方法名上的注释匹配,以获取所述对外接口的预处理方案。
得到接口返回数据模块440,用于根据所述字段模板中定义的接口字段和对应的字段值格式,对所述底层接口数据中包含的接口字段和对应的字段值进行处理,得到针对所述对外接口的调用请求的接口返回数据。
其中,得到接口返回数据模块440,包括:
生成空数据实体单元,用于根据所述字段模板中定义的接口字段和对应的字段值格式,生成对应的空数据实体;
转换数据结构单元,用于根据由所述字段模板中定义的接口字段和对应的字段值格式构成的标准数据结构,将由所述底层接口数据中包含的接口字段和对应的字段值构成的原始数据结构转换为符合所述标准数据结构的目标数据结构;以及
得到接口返回数据单元,用于将所述目标数据结构中的数据实体一一对应填充在所述空数据实体中,得到针对所述对外接口的调用请求的接口返回数据。
在一实施例中,根据所述标准数据结构对所述原始数据结构进行转换,包括以下中的至少之一:驼峰命名与下划线命名的转换,字段名映射,跨层级字段映射。
在一实施例中,还包括:
包装接口返回数据模块,用于在得到所述接口返回数据后,对所述接口返回数据进行外层包装后返回。
其中:包装接口返回数据模块,包括:
包装接口返回数据单元,用于根据对应的包装工厂类,对所述接口返回数据进行外层包装后返回。
其中:包装接口返回数据模块,还包括:
挑选包装工厂类单元,用于根据所述字段模板中配置的包装类型,为所述对外接口挑选出对应的包装工厂类。
本发明的实施例的一种对外接口的字段处理装置400与本发明的另一个实施例的一种对外接口的字段处理方法100相对应,在此不再赘述。
示例性电子设备
图5是本发明一示例性实施例提供的电子设备的结构。该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。图5图示了根据本公开实施例的电子设备的框图。如图5所示,电子设备包括一个或多个处理器51和存储器52。
处理器51可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
存储器52可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器51可以运行所述程序指令,以实现上文所述的本公开的各个实施例的软件程序的对历史变更记录进行信息挖掘的方法以及/或者其他期望的功能。在一个示例中,电子设备还可以包括:输入装置53和输出装置54,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
此外,该输入装置53还可以包括例如键盘、鼠标等等。
该输出装置54可以向外部输出各种信息。该输出设备34可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图5中仅示出了该电子设备中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的对历史变更记录进行信息挖掘的方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的对历史变更记录进行信息挖掘的方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (12)
1.一种对外接口的字段处理方法,包括:
获取调用对外接口的访问地址;
从数据库中获取与所述访问地址匹配的字段模板,其中,所述字段模板中定义有多个接口字段和对应的多个字段值格式;
获取所述对外接口的底层接口数据;以及
根据所述字段模板中定义的接口字段和对应的字段值格式,对所述底层接口数据中包含的接口字段和对应的字段值进行处理,得到针对所述对外接口的调用请求的接口返回数据。
2.根据权利要求1所述的方法,其中,根据所述字段模板中定义的接口字段和对应的字段值格式,对所述底层接口数据中包含的接口字段和对应的字段值进行处理,得到针对所述对外接口的调用请求的接口返回数据,包括:
根据所述字段模板中定义的接口字段和对应的字段值格式,生成对应的空数据实体;
根据由所述字段模板中定义的接口字段和对应的字段值格式构成的标准数据结构,将由所述底层接口数据中包含的接口字段和对应的字段值构成的原始数据结构转换为符合所述标准数据结构的目标数据结构;以及
将所述目标数据结构中的数据实体一一对应填充在所述空数据实体中,得到针对所述对外接口的调用请求的接口返回数据。
3.根据权利要求2所述的方法,其中,根据所述标准数据结构对所述原始数据结构进行转换,包括以下中的至少之一:驼峰命名与下划线命名的转换,字段名映射,跨层级字段映射。
4.根据权利要求1所述的方法,还包括:
在得到所述接口返回数据后,对所述接口返回数据进行外层包装后返回。
5.根据权利要求4所述的方法,其中:
根据对应的包装工厂类,对所述接口返回数据进行外层包装后返回。
6.根据权利要求5所述的方法,还包括:
根据所述字段模板中配置的包装类型,为所述对外接口挑选出对应的包装工厂类。
7.根据权利要求1所述的方法,还包括:获取所述对外接口的底层接口数据后,对获取的所述底层接口数据进行预处理,其中,
所述底层接口数据的预处理方法,包括:
获取所述对外接口的预处理方案;
根据获取的预处理方案,生成所述对外接口专用的数据预处理责任链;
通过所述数据预处理责任链,对所述底层接口数据进行预处理。
8.根据权利要求7所述的方法,其中:
通过读取所述对外接口的预处理方法名上的注释匹配,以获取所述对外接口的预处理方案。
9.一种对外接口的字段处理装置,其特征在于,包括:
获取访问地址模块,用于获取调用对外接口的访问地址;
获取字段模板模块,用于从数据库中获取与所述访问地址匹配的字段模板,其中,所述字段模板中定义有多个接口字段和对应的多个字段值格式;
获取底层接口数据模块,用于获取所述对外接口的底层接口数据;以及
得到接口返回数据模块,用于根据所述字段模板中定义的接口字段和对应的字段值格式,对所述底层接口数据中包含的接口字段和对应的字段值进行处理,得到针对所述对外接口的调用请求的接口返回数据。
10.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1-8任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-8任一项所述的方法。
12.一种计算机程序,包括计算机可读代码,其特征在于,当所述计算机可读代码在设备上运行时,所述设备中的处理器执行用于实现权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210556610.4A CN114942750B (zh) | 2022-05-19 | 2022-05-19 | 对外接口的字段处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210556610.4A CN114942750B (zh) | 2022-05-19 | 2022-05-19 | 对外接口的字段处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114942750A true CN114942750A (zh) | 2022-08-26 |
CN114942750B CN114942750B (zh) | 2024-09-17 |
Family
ID=82908947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210556610.4A Active CN114942750B (zh) | 2022-05-19 | 2022-05-19 | 对外接口的字段处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114942750B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2994831A1 (en) * | 2015-08-05 | 2017-02-09 | Equifax Inc. | Building and managing data-processing attributes for modeled data sources |
CN109271180A (zh) * | 2017-07-12 | 2019-01-25 | 北京国双科技有限公司 | 一种数据处理方法及装置 |
CN109710613A (zh) * | 2018-12-26 | 2019-05-03 | 深圳乐信软件技术有限公司 | 字段的管理方法、装置、服务器和存储介质 |
CN110109983A (zh) * | 2017-12-29 | 2019-08-09 | 北京京东尚科信息技术有限公司 | 一种操作Redis数据库的方法和装置 |
CN111552839A (zh) * | 2020-05-04 | 2020-08-18 | 武汉众邦银行股份有限公司 | 一种基于xml模板的对象转换方法 |
CN112115190A (zh) * | 2020-08-20 | 2020-12-22 | 苏宁云计算有限公司 | 一种接口报文的转换方法、装置及系统 |
CN112650533A (zh) * | 2020-12-22 | 2021-04-13 | 深圳前海微众银行股份有限公司 | 接口文档的生成方法、装置和终端设备 |
CN112860777A (zh) * | 2021-03-22 | 2021-05-28 | 深圳市腾讯信息技术有限公司 | 数据处理方法、装置及设备 |
CN112925749A (zh) * | 2021-02-20 | 2021-06-08 | 北京同邦卓益科技有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN113391972A (zh) * | 2021-07-30 | 2021-09-14 | 北京北大方正电子有限公司 | 一种接口测试方法及装置 |
CN113918635A (zh) * | 2021-10-21 | 2022-01-11 | 城云科技(中国)有限公司 | 接口数据格式转换方法和装置 |
CN114218278A (zh) * | 2021-12-16 | 2022-03-22 | 建信金融科技有限责任公司 | http接口的数据表字段查询方法及系统 |
CN114513552A (zh) * | 2022-01-06 | 2022-05-17 | 中信百信银行股份有限公司 | 数据处理方法、装置、设备及存储介质 |
-
2022
- 2022-05-19 CN CN202210556610.4A patent/CN114942750B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2994831A1 (en) * | 2015-08-05 | 2017-02-09 | Equifax Inc. | Building and managing data-processing attributes for modeled data sources |
CN109271180A (zh) * | 2017-07-12 | 2019-01-25 | 北京国双科技有限公司 | 一种数据处理方法及装置 |
CN110109983A (zh) * | 2017-12-29 | 2019-08-09 | 北京京东尚科信息技术有限公司 | 一种操作Redis数据库的方法和装置 |
CN109710613A (zh) * | 2018-12-26 | 2019-05-03 | 深圳乐信软件技术有限公司 | 字段的管理方法、装置、服务器和存储介质 |
CN111552839A (zh) * | 2020-05-04 | 2020-08-18 | 武汉众邦银行股份有限公司 | 一种基于xml模板的对象转换方法 |
CN112115190A (zh) * | 2020-08-20 | 2020-12-22 | 苏宁云计算有限公司 | 一种接口报文的转换方法、装置及系统 |
CN112650533A (zh) * | 2020-12-22 | 2021-04-13 | 深圳前海微众银行股份有限公司 | 接口文档的生成方法、装置和终端设备 |
CN112925749A (zh) * | 2021-02-20 | 2021-06-08 | 北京同邦卓益科技有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN112860777A (zh) * | 2021-03-22 | 2021-05-28 | 深圳市腾讯信息技术有限公司 | 数据处理方法、装置及设备 |
CN113391972A (zh) * | 2021-07-30 | 2021-09-14 | 北京北大方正电子有限公司 | 一种接口测试方法及装置 |
CN113918635A (zh) * | 2021-10-21 | 2022-01-11 | 城云科技(中国)有限公司 | 接口数据格式转换方法和装置 |
CN114218278A (zh) * | 2021-12-16 | 2022-03-22 | 建信金融科技有限责任公司 | http接口的数据表字段查询方法及系统 |
CN114513552A (zh) * | 2022-01-06 | 2022-05-17 | 中信百信银行股份有限公司 | 数据处理方法、装置、设备及存储介质 |
Non-Patent Citations (5)
Title |
---|
CRAPEMYRTLES: "excel自定义模板解析", Retrieved from the Internet <URL:https://blog.csdn.net/cainiao_ACCP/article/details/105914435> * |
GEEKSFORGEEKS: "Spring @Repository Annotation with Example", Retrieved from the Internet <URL:https://www.geeksforgeeks.org/spring-repository-annotation-with-example/> * |
一株木樨: "解析json格式的数据,保存到实体类", Retrieved from the Internet <URL:https://blog.csdn.net/fortunate_leixin/article/details/122324408> * |
少说点话: "java对象的序列化以及反序列化详解", Retrieved from the Internet <URL:https://www.cnblogs.com/sueyyyy/p/13994824.html> * |
廖雪峰: "使用JSON", Retrieved from the Internet <URL:https://www.liaoxuefeng.com/wiki/1252599548343744/1320418650619938> * |
Also Published As
Publication number | Publication date |
---|---|
CN114942750B (zh) | 2024-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sevilla Ruiz et al. | Inferring versioned schemas from NoSQL databases and its applications | |
US10540383B2 (en) | Automatic ontology generation | |
US8712965B2 (en) | Dynamic report mapping apparatus to physical data source when creating report definitions for information technology service management reporting for peruse of report definition transparency and reuse | |
US11269694B2 (en) | Automated API code generation | |
US8751437B2 (en) | Single persistence implementation of business objects | |
US7899820B2 (en) | Apparatus and method for transporting business intelligence objects between business intelligence systems | |
US20030188293A1 (en) | Method, system, and program for translating a class schema in a source language to a target language | |
US9251222B2 (en) | Abstracted dynamic report definition generation for use within information technology infrastructure | |
US10666744B2 (en) | Managing discovery and selection of service interface specifications | |
US20070011605A1 (en) | Dynamic generation of WSDL documents based on database metadata | |
US7827205B2 (en) | Bi-directional data mapping tool | |
JPH05342006A (ja) | オブジェクト指向プログラミングシステム | |
JPH0926924A (ja) | 分散オブジェクトシステムにおける例外を解釈する方法および装置 | |
US20070234211A1 (en) | Content transformation engine | |
CN102566984B (zh) | 一种配置参数的方法及装置 | |
CN106951231B (zh) | 一种计算机软件开发方法及装置 | |
US20050216917A1 (en) | Method and system for data object transformation | |
US11366704B2 (en) | Configurable analytics for microservices performance analysis | |
CN113886485A (zh) | 数据处理方法、装置、电子设备、系统和存储介质 | |
US9996344B2 (en) | Customized runtime environment | |
CN110781010A (zh) | 用于在页面组件间传送数据的方法、装置以及设备、介质 | |
CN111338717B (zh) | 接口调用方法、应用程序升级方法及服务器和客户端 | |
KR20160138498A (ko) | 이기종 컴퓨팅 환경에서 데이터 타입 변환을 지원하기 위한 시스템 및 방법 | |
CN116700745A (zh) | 基于容器云平台的应用部署方法、装置、电子设备和介质 | |
CN114942750A (zh) | 对外接口的字段处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |