数据校验的方法、装置、计算机系统及介质制造方法及图纸

技术编号:26259266 阅读:44 留言:0更新日期:2020-11-06 17:53
本公开提供了一种数据校验的方法,包括:响应于前端用于请求后端服务的业务请求,获取待校验数据,其中,待校验数据包括一个或多个字段;获取为后端服务预先配置的校验规则,其中,校验规则包括校验注解和规则表达式,校验注解用于标注多个字段中的一个或多个待校验字段,规则表达式用于表征与每个待校验字段对应的校验规则;基于与每个待校验字段对应的校验规则,获得与每个待校验字段对应的第一校验结果;以及基于与每个待校验字段对应的第一校验结果,确定与待校验数据对应的第二校验结果。此外,本公开还提供了一种数据校验的装置,计算机系统以及介质。

【技术实现步骤摘要】
数据校验的方法、装置、计算机系统及介质
本公开涉及计算机
,更具体地,涉及一种数据校验方法、装置、计算机系统及介质。
技术介绍
将JSON数据(JavaScriptObjectNotation)串转换成Java对象,利用校验工具(例如HibernateValidator)可以对Java对象的属性进行规则校验。将JSON串转换成Map对象,再从Map对象中获取属性值可以进行业务校验。但是,HibernateValidator校验框架是对转换之后的Java对象进行校验,不能涵盖特殊的业务场景。例如一后端服务要求JSON中的A,B,C字段不能为空,而另一个后端服务要求JSON中的B,C,D字段不能为空,A字段可以为空。相关技术提供的解决方案是重复设计一个属性相同但是属性规则不相同的Java类,增加校验程序的复杂性,降低校验程序的复用性。另外,Java类的属性包括多种数据类型,只有字符串(String)这一数据类型可以使用正则表达式,其他类型无法使用正则表达式,降低校验程序的灵活性。
技术实现思路
有鉴于此,本公开提供了一种数据校验的方法及其装置,计算机系统及介质。本公开的一个方面提供了一种数据校验的方法,包括:响应于前端用于请求后端服务的业务请求,获取待校验数据,其中,上述待校验数据包括一个或多个字段,获取为上述后端服务预先配置的校验规则,其中,上述校验规则包括校验注解和规则表达式,上述校验注解用于标注上述多个字段中的一个或多个待校验字段,上述规则表达式用于表征与每个待校验字段对应的校验规则,基于上述与每个待校验字段对应的校验规则,获得与上述每个待校验字段对应的第一校验结果,以及基于上述与上述每个待校验字段对应的第一校验结果,确定与上述待校验数据对应的第二校验结果。根据本公开的实施例,上述待校验字段包括待校验关键字,上述校验注解用于表征上述多个待校验关键字中的一个或多个待校验关键字。根据本公开的实施例,上述基于上述与上述每个待校验字段对应的第一校验结果,确定与上述待校验数据对应的第二校验结果包括:基于上述与上述每个待校验字段对应的第一校验结果,确定上述一个或多个待校验字段中是否存在校验失败的待校验字段,以及在不存在校验失败的待校验字段的情况下,确定与上述待校验数据对应的第二校验结果为校验成功。根据本公开的实施例,上述基于上述与上述每个待校验字段对应的第一校验结果,确定与上述待校验数据对应的第二校验结果还包括:在存在校验失败的待校验字段的情况下,确定与上述待校验数据对应的第二校验结果为校验失败。根据本公开的实施例,上述方法还包括:获取上述校验失败的待校验字段,获取与上述校验失败的待校验字段对应的校验信息,其中,上述校验信息包括关键字信息、值信息以及校验规则信息,以及返回上述校验信息至上述后端服务,以使得上述前端能够基于上述校验信息对上述校验失败的待校验字段进行修复。本公开的另一个方面提供了一种数据校验的装置,包括:第一获取模块,配置为响应于前端用于请求后端服务的业务请求,获取待校验数据,其中,上述待校验数据包括一个或多个字段,第二获取模块,配置为获取为上述后端服务预先配置的校验规则,其中,上述校验规则包括校验注解和规则表达式,上述校验注解用于标注上述多个字段中的一个或多个待校验字段,上述规则表达式用于表征与每个待校验字段对应的校验规则,获得模块,配置为基于上述与每个待校验字段对应的校验规则,获得与上述每个待校验字段对应的第一校验结果,以及确定模块,配置为基于上述与上述每个待校验字段对应的第一校验结果,确定与上述待校验数据对应的第二校验结果。根据本公开的实施例,上述待校验字段包括待校验关键字,上述校验注解用于表征上述多个待校验关键字中的一个或多个待校验关键字。根据本公开的实施例,上述确定模块包括:检测子模块,配置为基于上述与上述每个待校验字段对应的第一校验结果,检测上述一个或多个待校验字段中是否存在校验失败的待校验字段,以及第一确定子模块,配置为在不存在校验失败的待校验字段的情况下,确定与上述待校验数据对应的第二校验结果为校验成功。根据本公开的实施例,上述确定模块还包括:第二确定子模块,配置为在存在校验失败的待校验字段的情况下,确定与上述待校验数据对应的第二校验结果为校验失败。根据本公开的实施例,上述确定模块还包括:第一获取子模块,配置为获取上述校验失败的待校验字段,第二获取子模块,配置为获取与上述校验失败的待校验字段对应的校验信息,其中,上述校验信息包括关键字信息、值信息以及校验规则信息,以及返回子模块,配置为返回上述校验信息至上述后端服务,以使得上述前端能够基于上述校验信息对上述校验失败的待校验字段进行修复。本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。通过本公开的实施例,结合注解与规则表达式(也称为正则表达式)的灵活性,能够在后端对前端传入的数据转换成Java对象之前,对数据中包含的字段进行校验,提高Java类的可复用性。同时校验数据在转换成Java之前是文本格式,每个字段的校验规则可以通过正则表达式配置,可以至少部分地降低校验程序的复杂性,提高复用性和灵活性。附图说明通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:图1示意性示出了根据本公开实施例的可以应用数据校验方法的示例性系统架构;图2示意性示出了根据本公开的实施例的数据校验的方法的流程图;图3示意性示出了根据本公开的实施例的数据校验成功的流程图;图4示意性示出了根据本公开的实施例的数据校验失败的流程图;图5示意性示出了根据本公开的实施例的数据校验的装置的框图;图6示意性示出了根据本公开实施例的适于实现数据校验的方法和装置的计算机系统的方框图。具体实施方式以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。在使用类似于“A、B和C等中至少一个”这样的表述本文档来自技高网...

【技术保护点】
1.一种数据校验的方法,包括:/n响应于前端用于请求后端服务的业务请求,获取待校验数据,其中,所述待校验数据包括一个或多个字段;/n获取为所述后端服务预先配置的校验规则,其中,所述校验规则包括校验注解和规则表达式,所述校验注解用于标注所述多个字段中的一个或多个待校验字段,所述规则表达式用于表征与每个待校验字段对应的校验规则;/n基于所述与每个待校验字段对应的校验规则,获得与所述每个待校验字段对应的第一校验结果;以及/n基于所述与所述每个待校验字段对应的第一校验结果,确定与所述待校验数据对应的第二校验结果。/n

【技术特征摘要】
1.一种数据校验的方法,包括:
响应于前端用于请求后端服务的业务请求,获取待校验数据,其中,所述待校验数据包括一个或多个字段;
获取为所述后端服务预先配置的校验规则,其中,所述校验规则包括校验注解和规则表达式,所述校验注解用于标注所述多个字段中的一个或多个待校验字段,所述规则表达式用于表征与每个待校验字段对应的校验规则;
基于所述与每个待校验字段对应的校验规则,获得与所述每个待校验字段对应的第一校验结果;以及
基于所述与所述每个待校验字段对应的第一校验结果,确定与所述待校验数据对应的第二校验结果。


2.根据权利要求1所述的方法,其中:
所述待校验字段包括待校验关键字,所述校验注解用于表征所述多个待校验关键字中的一个或多个待校验关键字。


3.根据权利要求1所述的方法,其中,所述基于所述与所述每个待校验字段对应的第一校验结果,确定与所述待校验数据对应的第二校验结果包括:
基于所述与所述每个待校验字段对应的第一校验结果,确定所述一个或多个待校验字段中是否存在校验失败的待校验字段;以及
在不存在校验失败的待校验字段的情况下,确定与所述待校验数据对应的第二校验结果为校验成功。


4.根据权利要求3所述的方法,其中,所述基于所述与所述每个待校验字段对应的第一校验结果,确定与所述待校验数据对应的第二校验结果还包括:
在存在校验失败的待校验字段的情况下,确定与所述待校验数据对应的第二校验结果为校验失败。<...

【专利技术属性】
技术研发人员:赖耀宇
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1