CN112631695A - 一种数据校验方法、装置、电子设备及存储介质 - Google Patents
一种数据校验方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112631695A CN112631695A CN202011530437.8A CN202011530437A CN112631695A CN 112631695 A CN112631695 A CN 112631695A CN 202011530437 A CN202011530437 A CN 202011530437A CN 112631695 A CN112631695 A CN 112631695A
- Authority
- CN
- China
- Prior art keywords
- program code
- data
- target annotation
- data verification
- interface
- 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.)
- Pending
Links
- 238000013524 data verification Methods 0.000 title claims abstract description 60
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000012795 verification Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本公开关于一种数据校验方法、装置、电子设备及存储介质,响应数据校验指令,加载编译具有第一目标注解和与第一目标注解关联的第二目标注解的第一程序代码,以通过第一目标注解调用第一程序代码中用于指向数据校验程序代码的访问接口,第二目标注解指向第一程序代码中的第二程序代码,基于访问接口的接口标识,从预设接口与代码关系数据包中获取接口标识指向的数据校验程序代码,调用数据校验程序代码,对第二程序代码返回的数据进行校验。对于具有不同第一目标注解的第一程序代码能够从预设接口与代码关系数据包中获取数据校验程序代码,以调用数据校验程序代码对数据进行校验,省去手动加入具备数据校验程序代码的环节,提高数据校验效率。
Description
技术领域
本公开涉及数据处理技术领域,尤其涉及一种数据校验方法、装置、电子设备及存储介质。
背景技术
相关技术中,电子设备接收到服务器返回的数据后对数据进行校验,以保证数据的可靠性,防止因返回的数据不符合电子设备要求导致电子设备出现一些不可预知的问题。为了使得电子设备能够对数据进行校验,由用户在应用程序对应的程序代码中手动加入数据校验程序代码,以通过数据校验程序代码进行数据校验,那么针对不同应用的应用程序都需要用户手动加入具备数据校验功能的程序代码,降低数据校验的效率。
发明内容
本公开提供一种数据校验方法、装置、电子设备及存储介质,以至少解决相关技术中数据校验效率降低的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种数据校验方法,包括:
响应数据校验指令,加载编译具有第一目标注解和与所述第一目标注解关联的第二目标注解的第一程序代码,以通过所述第一目标注解调用所述第一程序代码中用于指向数据校验程序代码的访问接口,所述第二目标注解指向所述第一程序代码中的第二程序代码;
基于所述访问接口的接口标识,从预设接口与代码关系数据包中获取所述接口标识指向的数据校验程序代码;
调用所述数据校验程序代码,对所述第二程序代码返回的数据进行校验。
可选的,所述对所述第二程序代码返回的数据进行校验包括:
对所述第二程序代码返回的数据中指定属性进行判空校验;
和/或
对所述第二程序代码返回的数据的大小是否符合预设大小进行校验。
可选的,所述预设接口与代码关系数据包中保存有:至少一个数据校验程序代码、数据校验程序代码与访问接口的接口标识的对应关系。
可选的,还包括:
响应代码编辑指令,显示代码编辑界面;
从代码文件中获取具有所述第一目标注解和与所述第一目标注解关联的第二目标注解的程序代码;
在所述代码编辑界面中显示所述程序代码;
得到具有所述第一目标注解和与所述第一目标注解关联的第二目标注解的第一程序代码,所述第一程序代码是所述程序代码中添加用于指向数据校验程序代码的访问接口后得到,所述用于指向数据校验程序代码的访问接口由用户利用所述代码编辑界面在所述程序代码中添加。
可选的,通过ASM完成在程序代码中添加访问接口。
可选的,还包括:显示对所述第二程序代码返回的数据进行校验的校验结果。
根据本公开实施例的第二方面,提供一种数据校验装置,包括:
编译单元,被配置为执行响应数据校验指令,加载编译具有第一目标注解和与所述第一目标注解关联的第二目标注解的第一程序代码,以通过所述第一目标注解调用所述第一程序代码中用于指向数据校验程序代码的访问接口,所述第二目标注解指向所述第一程序代码中的第二程序代码;
获取单元,被配置为执行基于所述访问接口的接口标识,从预设接口与代码关系数据包中获取所述接口标识指向的数据校验程序代码;
校验单元,被配置为执行调用所述数据校验程序代码,对所述第二程序代码返回的数据进行校验。
可选的,所述校验单元,被配置为执行对所述第二程序代码返回的数据中指定属性进行判空校验;
和/或
对所述第二程序代码返回的数据的大小是否符合预设大小进行校验。
可选的,所述预设接口与代码关系数据包中保存有:至少一个数据校验程序代码、数据校验程序代码与访问接口的接口标识的对应关系。
可选的,还包括:
显示单元,被配置为执行响应代码编辑指令,显示代码编辑界面;
代码获取单元,被配置为执行从代码文件中获取具有所述第一目标注解和与所述第一目标注解关联的第二目标注解的程序代码;
所述显示单元,还被配置为执行在所述代码编辑界面中显示所述程序代码;
所述代码获取单元,还被配置为执行得到具有所述第一目标注解和与所述第一目标注解关联的第二目标注解的第一程序代码,所述第一程序代码是所述程序代码中添加用于指向数据校验程序代码的访问接口后得到,所述用于指向数据校验程序代码的访问接口由用户利用所述代码编辑界面在所述程序代码中添加。
可选的,通过ASM完成在程序代码中添加访问接口。
可选的,其特征在于,还包括:结果显示单元,被配置为执行显示对所述第二程序代码返回的数据进行校验的校验结果。
根据本公开实施例的第三方面,提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现上述数据校验方法。
根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述数据校验方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,当在电子设备上执行时,适于执行初始化有上述图像处理方法的步骤的程序。
本公开的实施例提供的技术方案至少带来以下有益效果:
响应数据校验指令,加载编译具有第一目标注解和与所述第一目标注解关联的第二目标注解的第一程序代码,以通过第一目标注解调用第一程序代码中用于指向数据校验程序代码的访问接口,第二目标注解指向第一程序代码中的第二程序代码,基于访问接口的接口标识,从预设接口与代码关系数据包中获取接口标识指向的数据校验程序代码,调用数据校验程序代码,对第二程序代码返回的数据进行校验。对于不同应用的应用程序代码,具有第一目标注解的第一程序代码都能够从预设接口与代码关系数据包中获取数据校验程序代码,以调用数据校验程序代码对数据进行校验,省去针对每个程序代码手动加入具备数据校验程序代码的环节,提高数据校验效率。其中第二目标注解和第一目标注解关联,基于第一目标注解可以在第一程序代码中自动查找第二目标注解指向的第二程序代码,简化第二程序代码的查找过程。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种数据校验方法的流程图;
图2是根据一示例性实施例示出的另一种数据校验方法的流程图;
图3是根据一示例性实施例示出的一种数据校验装置的结构示意图;
图4是根据一示例性实施例示出的另一种数据校验装置的结构示意图;
图5是根据一示例性实施例示出的一种电子设备的结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种数据校验方法的流程图,可以包括以下步骤:
在步骤S11中,响应数据校验指令,加载编译具有第一目标注解和与所述第一目标注解关联的第二目标注解的第一程序代码,以通过第一目标注解调用第一程序代码中用于指向数据校验程序代码的访问接口,第二目标注解指向第一程度代码中的第二程序代码。
其中用于指向数据校验程序代码的访问接口与第一程序代码关联,以在加载编译第一程序代码的过程中可调用指向数据校验程序代码的访问接口,指向数据校验程序代码的访问接口与第一程序代码关联的一种表现形式是:在具有第一目标注解和与第一目标注解关联的第二目标注解的程序代码中添加用于指向数据校验程序代码的访问接口,得到具有第一目标注解和与第一目标注解关联的第二目标注解的第一程序代码,在加载编译第一程序代码的过程调用该访问接口。
第一目标注解作为第一程序代码的标识,对于具有第一目标注解的程序代码都能与用于指向数据校验程序代码的访问接口进行关联。不同应用的应用程序代码的注解可能会有所不同,本实施例可以预先设置一个注解集,注解集包括至少一个第一目标注解,且注解集中的第一目标注解不同,以实现针对具有不同第一目标注解的程序代码关联指向数据校验程序代码的访问接口的目的。第一目标注解还能够与第二目标注解关联,且第二目标注解指向第一程序代码中的第二程序代码,由此在基于第一目标注解确定第一程序代码后,能够基于与第一目标注解关联的第二目标注解查找到第一程序代码中的第二程序代码,其中与第一目标注解关联的第二目标注解可以存储在注解集中,在注解集中第一目标注解和与第一目标注解关联的第二目标注解以对应关系方式存储,以建立第一目标注解和第二目标注解的对应关系,从而通过对应关系将第一目标注解和第二目标注解关联。
数据校验是为了保证服务器返回给电子设备的数据的可靠性,防止因返回的数据不符合电子设备要求导致电子设备出现一些不可预知的问题,而电子设备出现一些不可预知的问题是在电子设备使用这些数据过程中产生,电子设备对服务器返回数据的使用是在数据解析阶段,因此本实施例可以在电子设备的数据解析阶段绑定一个数据校验指令,以在数据解析阶段自动触发数据校验指令,以响应数据校验指令进行数据校验。
在步骤S12中,基于访问接口的接口标识,从预设接口与代码关系数据包中获取接口标识指向的数据校验程序代码。
预设接口与代码关系数据包中保存有:至少一个数据校验程序代码、数据校验程序代码与访问接口的接口标识的对应关系,这样在加载编译具有第一目标注解和与第一目标注解关联的第二目标注解的第一程序代码过程中,能够基于预设接口与代码关系数据包中保存的对应关系,查找到当前要调用的数据校验程序代码。
数据校验程序代码与访问接口的接口标识的对应关系用于基于接口标识查找数据校验程序代码,由此通过预设的接口与代码关系数据包确定能够采用哪些数据校验程序代码,对第一程序代码启动校验。
在本实施例中,在对具有第一目标注解和与第一目标注解关联的第二目标注解的程序代码关联访问接口过程中,关联的访问接口的接口标识与预设接口与代码关系数据包中的接口标识要保持一致,并且程序代码中与接口标识对应的第一目标注解和第二目标注解,也要与预设接口与代码关系数据包中的第一目标注解和第二目标注解保持一致,从而获取对应的数据校验程序代码进行数据校验,否则会出现获取错误的数据校验程序代码或者无法获取到数据校验程序代码的情况,导致数据校验出错。
例如本实施例中第一目标注解为@RequestClassCheck,与@RequestClassCheck关联的第二目标注解包括@RequestParamCheck和@RequestListParamCheck,在程序代码中加入IDataPatamsCheck,IDataPatamsCheck指向doCheck()来对具有@RequestClassCheck的第一程序代码中@RequestParamCheck和@RequestListParamCheck对应的第二程序代码返回的数据进行校验,则第一程序代码中的第一目标注解、第二程序代码中的第二目标注解和第一程序代码中的访问接口的接口标识要与预设接口与代码关系数据包中的数据保持一致。在校验过程中通过IDataPatamsCheck确定doCheck(),利用doCheck()对具有@RequestClassCheck的第一程序代码下的具有@RequestParamCheck的第二程序代码返回的数据进行校验,当然还可以对具有@RequestListParamCheck的第二程序代码返回的数据进行校验。
在本实施例中,预设接口与代码关系数据包中还保存有:第一目标注解与接口标识的对应关系,第一目标注解与接口标识的对应关系用于基于第一目标注解查找接口标识,以确定通过数据校验程序代码对具有何种第一目标注解的第一程序代码启动校验。
在本实施例中,预设接口与代码关系数据包可以插件形式提供给不同应用使用,使得不同应用的程序代码可以从预设接口与代码关系数据包中获取数据校验程序代码,对于插件的具体形式本实施例不再说明。
在步骤S13中,调用数据校验程序代码,对第二程序代码返回的数据进行校验,省去用户手动加入数据校验程序代码环节,提高数据校验的效率。
针对第二程序代码返回的数据的校验包括但不限于:对第二程序代码返回的数据中指定属性进行判空校验,和/或对第二程序代码返回的数据的大小是否符合预设大小进行校验。
如判断指定属性的属性值是否为空,指定属性可以由用户确定或者是根据数据中属性的重要程度而定,当然也可以对数据的所有属性进行判空校验,本实施例不进行限定。预设大小用于指示返回的数据的条数,对于不同的第二程序代码,预设大小会有所不同,本实施例可针对不同的第二程序代码进行设置,具体取值本实施例不进行限定且不一一说明。
下面以一种进行判空校验和校验返回的数据的大小是否符合预设大小的doCheck()为例进行说明,如果第一程序代码中没有加入IDataPatamsCheck,针对第一程序代码进行数据校验可能需要手动加入数据校验程序代码,而本实施例可在其内加入IDataPatamsCheck,在加入IDataPatamsCheck之后,在加载编译第一程序代码过程中,能够调用IDataPatamsCheck以调用其指向的doCheck(),利用doCheck()进行数据校验,省去人工手动写入数据校验程序代码的环节。
上述数据校验方法,响应数据校验指令,加载编译具有第一目标注解和与第一目标注解关联的第二目标注解的第一程序代码,以通过第一目标注解调用第一程序代码中用于指向数据校验程序代码的访问接口,第二目标注解指向第一程序代码中的第二程序代码,基于访问接口的接口标识,从预设接口与代码关系数据包中获取接口标识指向的数据校验程序代码,调用数据校验程序代码,对第一程序代码中具有第二目标注解的第二程序代码返回的数据进行校验。对于不同应用的应用程序代码,具有第一目标注解的第一程序代码都能够从预设接口与代码关系数据包中获取数据校验程序代码,以调用数据校验程序代码对数据进行校验,省去针对每个程序代码手动加入具备数据校验程序代码的环节,提高数据校验效率。其中第二目标注解和第一目标注解关联,基于第一目标注解可以在第一程序代码中自动查找第二目标注解指向的第二程序代码,利用数据校验程序对第二程序代码返回的数据进行校验,简化第二程序代码的查找过程。
图2是根据一示例性实施例示出的另一种数据校验方法的流程图,可以包括以下步骤:
在步骤S21中,响应代码编辑指令,显示代码编辑界面。其中代码编辑指令是由用户触发,在用户确定对某个应用的数据进行校验的情况下触发代码编辑指令,以对该应用的代码文件中具有第一目标注解和与第一目标注解关联的第二目标注解的程序代码进行修改。
在步骤S22中,从代码文件中获取具有第一目标注解和与第一目标注解关联的第二目标注解的程序代码。
在步骤S23中,在代码编辑界面中显示程序代码,以使得用户能够利用代码编辑界面对程序代码进行修改。
在步骤S24中,得到具有第一目标注解和与第一目标注解关联的第二目标注解的第一程序代码,第一程序代码是程序代码中添加用于指向数据校验程序代码的访问接口后得到,用于指向数据校验程序代码的访问接口由用户利用代码编辑界面在程序代码中添加。
也就是说,在代码编辑界面显示具有第一目标注解和与第一目标注解关联的第二目标注解的程序代码后,用户利用代码编辑界面的代码编辑功能,在具有第一目标注解和与第一目标注解关联的第二目标注解的程序代码中添加指向数据校验程序代码的访问接口,例如添加与数据校验程序代码具有对应关系的接口标识,得到具有第一目标注解和与第一目标注解关联的第二目标注解的第一程序代码,因可能具有多个数据校验程序代码,不同数据校验程序代码对应不同接口标识,在添加过程中需要保证添加的接口标识的准确性。
除了利用代码编辑界面添加访问接口的接口标识之外,还能够利用代码编辑界面在程序代码中添加第一目标注解和第二目标注解,如在代码便捷界面中显示代码文件中的各个程序代码,由用户决定在哪些程序代码中添加第一目标注解或第二目标注解,以能够根据用户需求决定对哪些程序代码进行数据校验,相对于手动添加数据校验程序代码来说,本实施例添加接口标识、第一目标注解和第二目标注解即可,简化数据校验程序代码的接入流程,且不会对原始程序代码进行过多修改,不会产生过多代码。
在实现方面可以通过APT或者ASM插代码来实现,APT在实现上会产生多余的代码导致代码体积有所增加,编译速度减慢,ASM虽然也会降低编译速度,但能够在程序代码中插入逻辑,不会生成多余的代码,对原始程序代码的入侵更小,因此选择ASM实现添加访问接口的接口标识、第一目标注解和第二目标注解。
ASM是一个字节码操作框架,可用来动态生成字节码或者对现有类Class进行增强。ASM可以直接生成二进制的程序代码,如可以直接生成二进制的Class类,也可以在程序代码如现有类Class被加载进虚拟机前动态改变其行为,比如在程序代码执行前和程序代码执行后的至少一个时机在程序代码中插入其他的程序代码,添加成员变量,修改父类,添加接口等等。
ASM添加访问接口标识、第一目标注解和第二目标注解的过程可以包括:将用于添加接口标识、第一目标注解和第二目标注解的程序代码中的代码内容进行遍历,通过ASM中的CLassVisitor获取程序代码中的调用信息,如程序代码中的成员变量,接口,方法等等,在获取的调用信息中添加接口标识、第一目标注解和第二目标注解,并同步修改程序代码对应的代码文件中的调用信息,完成在程序代码中添加访问接口的接口标识、第一目标注解和第二目标注解。
在步骤S25中,响应数据校验指令,加载编译具有第一目标注解和与第一目标注解关联的第二目标注解的第一程序代码,以通过第一目标注解调用第一程序代码中用于指向数据校验程序代码的访问接口。
在步骤S26中,基于访问接口的接口标识,从预设接口与代码关系数据包中获取接口标识指向的数据校验程序代码。
在步骤S27中,调用数据校验程序代码,对第二程序代码返回的数据进行校验,省去用户手动加入数据校验程序代码环节,提高数据校验的效率。
上述数据校验方法,通过代码编辑界面使用户对程序代码进行修改,得到第一程序代码,以修改程序代码方式实现预设接口与代码关系数据包中的数据校验程序代码的自动调用。
上述数据校验方法,在进行数据校验之后,还能够显示对第二程序代码返回的数据进行校验的校验结果,校验结果用于指示返回的数据正确还是错误。如果返回的数据错误还能够显示是哪些数据存在错误,例如在对指定属性进行判空校验过程中,如果有指定属性的属性值为空,则能够显示属性值为空的指定属性。
图3是根据一示例性实施例示出的一种数据校验装置的可选结构,可以包括:编译单元10、获取单元20和校验单元30。
编译单元10,被配置为执行响应数据校验指令,加载编译具有第一目标注解和与第一目标注解关联的第二目标注解的第一程序代码,以通过第一目标注解调用第一程序代码中用于指向数据校验程序代码的访问接口,第二目标注解指向第一程序代码中的第二程序代码。如通过ASM完成在程序代码中添加访问接口,得到第一程序代码。
获取单元20,被配置为执行基于访问接口的接口标识,从预设接口与代码关系数据包中获取接口标识指向的数据校验程序代码。其中预设接口与代码关系数据包中保存有:至少一个数据校验程序代码、数据校验程序代码与访问接口的接口标识的对应关系。
校验单元30,被配置为执行调用数据校验程序代码,对第二程序代码返回的数据进行校验。校验单元30对返回的数据进行校验包括但不限于如下方式:
校验单元30,被配置为执行对第二程序代码返回的数据中指定属性进行判空校验,和/或,对第二程序代码返回的数据的大小是否符合预设大小进行校验。
上述数据校验装置,响应数据校验指令,加载编译具有第一目标注解和与第一目标注解关联的第二目标注解的第一程序代码,以通过第一目标注解调用第一程序代码中用于指向数据校验程序代码的访问接口,第二目标注解指向第一程序代码中的第二程序代码,基于访问接口的接口标识,从预设接口与代码关系数据包中获取接口标识指向的数据校验程序代码,调用数据校验程序代码,对第二程序代码返回的数据进行校验。对于不同应用的应用程序代码,具有第一目标注解的第一程序代码都能够从预设接口与代码关系数据包中获取数据校验程序代码,以调用数据校验程序代码对数据进行校验,省去针对每个程序代码手动加入具备数据校验程序代码的环节,提高数据校验效率。并且第二目标注解和第一目标注解关联,基于第一目标注解可以在第一程序代码中自动查找第二目标注解指向的第二程序代码,利用数据校验程序对第二程序代码返回的数据进行校验,简化第二程序代码的查找过程。
图4是根据一示例性实施例示出的一种数据校验装置的可选结构,还可以包括:显示单元40和代码获取单元50。
显示单元40,被配置为执行响应代码编辑指令,显示代码编辑界面。
代码获取单元50,被配置为执行从代码文件中获取具有第一目标注解和与第一目标注解关联的第二目标注解的程序代码。
显示单元40,还被配置为执行在代码编辑界面中显示程序代码。
代码获取单元50,还被配置为执行得到具有第一目标注解和与第一目标注解关联的第二目标注解的第一程序代码,第一程序代码是程序代码中添加用于指向数据校验程序代码的访问接口后得到,用于指向数据校验程序代码的访问接口由用户利用代码编辑界面在程序代码中添加。
上述数据校验装置,通过代码编辑界面使用户对程序代码进行修改,得到第一程序代码,以修改程序代码方式实现预设接口与代码关系数据包中的数据校验程序代码的自动调用。
针对上述数据校验装置,还可以包括:结果显示单元,被配置为执行显示对第二程序代码返回的数据进行校验的校验结果。校验结果用于指示返回的数据正确还是错误。如果返回的数据错误还能够显示是哪些数据存在错误,例如在对指定属性进行判空校验过程中,如果有指定属性的属性值为空,则能够显示属性值为空的指定属性。
关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本示例性实施例还提供一种电子设备,其结构如图5所示,图5所示电子设备500可以是移动电话、计算机、平板设备、个人数字助理设备等。
电子设备500可以包括以下一个或多个组件:处理组件502,存储器504,电力组件506,多媒体组件505,音频组件510,输入/输出(I/O)的接口512,传感器组件514,以及通信组件516。
处理组件502通常控制电子设备500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令,以完成上述数据校验方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件505和处理组件502之间的交互。
存储器504被配置为存储各种类型的数据以支持在设备500的操作。这些数据的示例包括用于在电子设备500上操作的任何应用程序或数据校验方法的指令,联系人数据,电话簿数据,消息,图片,视频,数据校验结果,接口标识,第一目标注解和第二目标注解等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件506为电子设备500的各种组件提供电力。电源组件506可以包括电源管理系统,一个或多个电源,及其他与为电子设备500生成、管理和分配电力相关联的组件。
多媒体组件505包括在电子设备500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP),如利用屏幕显示数据校验结果。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件505包括一个前置摄像头和/或后置摄像头。当设备500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克风(MIC),当电子设备500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
I/O接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件514包括一个或多个传感器,用于为电子设备500提供各个方面的状态评估。例如,传感器组件514可以检测到电子设备500的打开/关闭状态,组件的相对定位,例如组件为电子设备500的显示器和小键盘,传感器组件514还可以检测电子设备500或电子设备500一个组件的位置改变,用户与电子设备500接触的存在或不存在,电子设备500方位或加速/减速和电子设备500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件516被配置为便于电子设备500和其他设备之间有线或无线方式的通信。电子设备500可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件516还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备500可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述数据校验方法。
本示例性实施例还提供一种存储介质,当存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述数据校验方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本示例性实施例还提供一种计算机程序产品,当在电子设备上执行时,适于执行初始化有上述数据校验方法的步骤的程序。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种数据校验方法,其特征在于,包括:
响应数据校验指令,加载编译具有第一目标注解和与所述第一目标注解关联的第二目标注解的第一程序代码,以通过所述第一目标注解调用所述第一程序代码中用于指向数据校验程序代码的访问接口,所述第二目标注解指向所述第一程序代码中的第二程序代码;
基于所述访问接口的接口标识,从预设接口与代码关系数据包中获取所述接口标识指向的数据校验程序代码;
调用所述数据校验程序代码,对所述第二程序代码返回的数据进行校验。
2.根据权利要求1所述的方法,其特征在于,所述对所述第二程序代码返回的数据进行校验包括:
对所述第二程序代码返回的数据中指定属性进行判空校验;
和/或
对所述第二程序代码返回的数据的大小是否符合预设大小进行校验。
3.根据权利要求1所述的方法,其特征在于,所述预设接口与代码关系数据包中保存有:至少一个数据校验程序代码、数据校验程序代码与访问接口的接口标识的对应关系。
4.根据权利要求1所述的方法,其特征在于,还包括:
响应代码编辑指令,显示代码编辑界面;
从代码文件中获取具有所述第一目标注解和与所述第一目标注解关联的第二目标注解的程序代码;
在所述代码编辑界面中显示所述程序代码;
得到具有所述第一目标注解和与所述第一目标注解关联的第二目标注解的第一程序代码,所述第一程序代码是所述程序代码中添加用于指向数据校验程序代码的访问接口后得到,所述用于指向数据校验程序代码的访问接口由用户利用所述代码编辑界面在所述程序代码中添加。
5.根据权利要求1所述的方法,其特征在于,通过ASM完成在程序代码中添加访问接口。
6.根据权利要求1至5中任意一项所述的方法,其特征在于,还包括:显示对所述第二程序代码返回的数据进行校验的校验结果。
7.一种数据校验装置,其特征在于,包括:
编译单元,被配置为执行响应数据校验指令,加载编译具有第一目标注解和与所述第一目标注解关联的第二目标注解的第一程序代码,以通过所述第一目标注解调用所述第一程序代码中用于指向数据校验程序代码的访问接口,所述第二目标注解指向所述第一程序代码中的第二程序代码;
获取单元,被配置为执行基于所述访问接口的接口标识,从预设接口与代码关系数据包中获取所述接口标识指向的数据校验程序代码;
校验单元,被配置为执行调用所述数据校验程序代码,对所述第二程序代码返回的数据进行校验。
8.根据权利要求7所述的装置,其特征在于,所述校验单元,被配置为执行对所述第二程序代码返回的数据中指定属性进行判空校验;
和/或
对所述第二程序代码返回的数据的大小是否符合预设大小进行校验。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至6中任一项所述的数据校验方法。
10.一种存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至6中任一项所述的数据校验方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011530437.8A CN112631695A (zh) | 2020-12-22 | 2020-12-22 | 一种数据校验方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011530437.8A CN112631695A (zh) | 2020-12-22 | 2020-12-22 | 一种数据校验方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112631695A true CN112631695A (zh) | 2021-04-09 |
Family
ID=75321017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011530437.8A Pending CN112631695A (zh) | 2020-12-22 | 2020-12-22 | 一种数据校验方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112631695A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113111378A (zh) * | 2021-04-14 | 2021-07-13 | 山东英信计算机技术有限公司 | 终端、存储介质、注解方法及系统、前置校验方法及系统 |
Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070006155A1 (en) * | 2005-06-30 | 2007-01-04 | Microsoft Corporation | Locating source code when stopping in a debugger |
CN106598825A (zh) * | 2016-12-07 | 2017-04-26 | 泰康保险集团股份有限公司 | 电子设备、规范日志代码输出方法及装置 |
CN106933644A (zh) * | 2015-12-31 | 2017-07-07 | 北京国双科技有限公司 | 数据处理方法和装置 |
CN106940695A (zh) * | 2016-01-05 | 2017-07-11 | 阿里巴巴集团控股有限公司 | 数据源信息的校验方法及装置 |
CN106991023A (zh) * | 2017-03-22 | 2017-07-28 | 深圳市彬讯科技有限公司 | 一种接口参数校验方法及组件 |
CN108415834A (zh) * | 2018-02-12 | 2018-08-17 | 平安科技(深圳)有限公司 | 注解后端校验方法、装置、计算机设备及存储介质 |
CN109656744A (zh) * | 2017-10-11 | 2019-04-19 | 北京京东尚科信息技术有限公司 | 基于Java注解实现数据校验和注入的方法和装置 |
CN110275831A (zh) * | 2019-06-18 | 2019-09-24 | 广州华多网络科技有限公司 | 协议接口的mock数据校验方法和装置 |
CN110413442A (zh) * | 2019-07-08 | 2019-11-05 | 浙江数链科技有限公司 | 参数校验方法和装置 |
CN110554929A (zh) * | 2018-06-04 | 2019-12-10 | 百度在线网络技术(北京)有限公司 | 数据校验方法、装置、计算机设备及存储介质 |
CN110806863A (zh) * | 2019-11-05 | 2020-02-18 | 泰康保险集团股份有限公司 | 接口文档生成方法及装置、电子设备、存储介质 |
CN111191246A (zh) * | 2019-12-19 | 2020-05-22 | 杭州安恒信息技术股份有限公司 | 一种基于Spring注解的安全开发校验方法 |
CN111290742A (zh) * | 2020-03-04 | 2020-06-16 | 五八有限公司 | 参数验证方法、装置、电子设备及可读存储介质 |
CN111314306A (zh) * | 2020-01-17 | 2020-06-19 | 网易(杭州)网络有限公司 | 接口访问方法及装置、电子设备、存储介质 |
CN111475331A (zh) * | 2020-03-24 | 2020-07-31 | 平安银行股份有限公司 | 数据校验方法、装置、计算机设备和存储介质 |
CN111552713A (zh) * | 2020-04-30 | 2020-08-18 | 国网信息通信产业集团有限公司 | 一种数据校验方法及装置 |
CN111638907A (zh) * | 2020-04-20 | 2020-09-08 | 北京达佳互联信息技术有限公司 | 第三方代码片段的替换方法、装置、终端及存储介质 |
CN111736811A (zh) * | 2020-06-10 | 2020-10-02 | 苏宁云计算有限公司 | 表单数据校验方法、系统、服务器和用户终端 |
CN111736916A (zh) * | 2020-06-08 | 2020-10-02 | 北京达佳互联信息技术有限公司 | 基于Java语言的动态扩展方法、装置、电子设备及存储介质 |
CN111796864A (zh) * | 2020-06-02 | 2020-10-20 | 北京三快在线科技有限公司 | 一种数据校验的方法及装置 |
CN111984228A (zh) * | 2020-07-09 | 2020-11-24 | 招联消费金融有限公司 | 一种接口文档的处理方法、装置、计算机设备和存储介质 |
-
2020
- 2020-12-22 CN CN202011530437.8A patent/CN112631695A/zh active Pending
Patent Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070006155A1 (en) * | 2005-06-30 | 2007-01-04 | Microsoft Corporation | Locating source code when stopping in a debugger |
CN106933644A (zh) * | 2015-12-31 | 2017-07-07 | 北京国双科技有限公司 | 数据处理方法和装置 |
CN106940695A (zh) * | 2016-01-05 | 2017-07-11 | 阿里巴巴集团控股有限公司 | 数据源信息的校验方法及装置 |
CN106598825A (zh) * | 2016-12-07 | 2017-04-26 | 泰康保险集团股份有限公司 | 电子设备、规范日志代码输出方法及装置 |
CN106991023A (zh) * | 2017-03-22 | 2017-07-28 | 深圳市彬讯科技有限公司 | 一种接口参数校验方法及组件 |
CN109656744A (zh) * | 2017-10-11 | 2019-04-19 | 北京京东尚科信息技术有限公司 | 基于Java注解实现数据校验和注入的方法和装置 |
CN108415834A (zh) * | 2018-02-12 | 2018-08-17 | 平安科技(深圳)有限公司 | 注解后端校验方法、装置、计算机设备及存储介质 |
WO2019153544A1 (zh) * | 2018-02-12 | 2019-08-15 | 平安科技(深圳)有限公司 | 注解后端校验方法、装置、计算机设备及存储介质 |
CN110554929A (zh) * | 2018-06-04 | 2019-12-10 | 百度在线网络技术(北京)有限公司 | 数据校验方法、装置、计算机设备及存储介质 |
CN110275831A (zh) * | 2019-06-18 | 2019-09-24 | 广州华多网络科技有限公司 | 协议接口的mock数据校验方法和装置 |
CN110413442A (zh) * | 2019-07-08 | 2019-11-05 | 浙江数链科技有限公司 | 参数校验方法和装置 |
CN110806863A (zh) * | 2019-11-05 | 2020-02-18 | 泰康保险集团股份有限公司 | 接口文档生成方法及装置、电子设备、存储介质 |
CN111191246A (zh) * | 2019-12-19 | 2020-05-22 | 杭州安恒信息技术股份有限公司 | 一种基于Spring注解的安全开发校验方法 |
CN111314306A (zh) * | 2020-01-17 | 2020-06-19 | 网易(杭州)网络有限公司 | 接口访问方法及装置、电子设备、存储介质 |
CN111290742A (zh) * | 2020-03-04 | 2020-06-16 | 五八有限公司 | 参数验证方法、装置、电子设备及可读存储介质 |
CN111475331A (zh) * | 2020-03-24 | 2020-07-31 | 平安银行股份有限公司 | 数据校验方法、装置、计算机设备和存储介质 |
CN111638907A (zh) * | 2020-04-20 | 2020-09-08 | 北京达佳互联信息技术有限公司 | 第三方代码片段的替换方法、装置、终端及存储介质 |
CN111552713A (zh) * | 2020-04-30 | 2020-08-18 | 国网信息通信产业集团有限公司 | 一种数据校验方法及装置 |
CN111796864A (zh) * | 2020-06-02 | 2020-10-20 | 北京三快在线科技有限公司 | 一种数据校验的方法及装置 |
CN111736916A (zh) * | 2020-06-08 | 2020-10-02 | 北京达佳互联信息技术有限公司 | 基于Java语言的动态扩展方法、装置、电子设备及存储介质 |
CN111736811A (zh) * | 2020-06-10 | 2020-10-02 | 苏宁云计算有限公司 | 表单数据校验方法、系统、服务器和用户终端 |
CN111984228A (zh) * | 2020-07-09 | 2020-11-24 | 招联消费金融有限公司 | 一种接口文档的处理方法、装置、计算机设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
罗日才 等: "毕业生就业管理系统数据校验的程序设计", 《广西民族大学学报(自然科学版)》, vol. 15, no. 3 * |
莫妮121: "6.变更检测机制和DoCheck钩子", 《简书》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113111378A (zh) * | 2021-04-14 | 2021-07-13 | 山东英信计算机技术有限公司 | 终端、存储介质、注解方法及系统、前置校验方法及系统 |
CN113111378B (zh) * | 2021-04-14 | 2022-07-22 | 山东英信计算机技术有限公司 | 终端、存储介质、注解方法及系统、前置校验方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107370772B (zh) | 账号登录方法、装置及计算机可读存储介质 | |
CN111736916A (zh) | 基于Java语言的动态扩展方法、装置、电子设备及存储介质 | |
CN115185717B (zh) | 接口调用方法、装置、电子设备和存储介质 | |
CN107562500B (zh) | 调试装置、方法及设备 | |
CN107463372B (zh) | 一种数据驱动的页面更新方法和装置 | |
CN105183571A (zh) | 函数调用方法和装置 | |
CN106293683B (zh) | 一种项目的编译方法及装置 | |
CN112631695A (zh) | 一种数据校验方法、装置、电子设备及存储介质 | |
CN110851370A (zh) | 程序测试方法及装置、存储介质 | |
CN113778687B (zh) | 内存分配信息处理方法、装置、电子设备及存储介质 | |
CN112667852B (zh) | 基于视频的搜索方法、装置、电子设备及存储介质 | |
CN110569037B (zh) | 数据写入的方法和装置 | |
CN107526683B (zh) | 应用程序功能冗余度的检测方法、装置及存储介质 | |
CN111104110A (zh) | 全局样式共享方法、全局样式共享装置及电子装置 | |
CN110659081B (zh) | 用于程序对象的文件处理方法、装置及电子设备 | |
CN111596949B (zh) | 一种开发应用程序的方法及装置 | |
CN109726118B (zh) | 一种应用程序开发方法、装置、电子设备及存储介质 | |
CN114531493B (zh) | 一种请求处理方法、装置、电子设备及存储介质 | |
CN110311968B (zh) | 流式加载文件的方法、装置及智能设备 | |
CN114020504B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN110990073B (zh) | 一种验证应用程序的定制需求的方法及装置 | |
CN111240757B (zh) | 快应用控制方法、装置及存储介质 | |
CN107784224B (zh) | 权限适配方法、装置及电子设备 | |
CN108205452B (zh) | 软件的执行控制方法及装置 | |
CN114546419A (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 |