CN114003432A - 参数校验方法、装置、计算机设备和存储介质 - Google Patents

参数校验方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN114003432A
CN114003432A CN202111141845.9A CN202111141845A CN114003432A CN 114003432 A CN114003432 A CN 114003432A CN 202111141845 A CN202111141845 A CN 202111141845A CN 114003432 A CN114003432 A CN 114003432A
Authority
CN
China
Prior art keywords
parameter
verification
interface
rule
determining
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
Application number
CN202111141845.9A
Other languages
English (en)
Inventor
张康
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jinan Inspur Data Technology Co Ltd
Original Assignee
Jinan Inspur Data Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jinan Inspur Data Technology Co Ltd filed Critical Jinan Inspur Data Technology Co Ltd
Priority to CN202111141845.9A priority Critical patent/CN114003432A/zh
Publication of CN114003432A publication Critical patent/CN114003432A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application

Abstract

本申请涉及一种参数校验方法、装置、计算机设备和存储介质,所述方法包括:接收客户端发送的数据校验请求,根据所述数据校验请求确定请求调用接口对应的接口名称及接口参数;根据所述接口名称从数据库中查询该接口对应的参数校验字典中的参数校验规则;其中,所述参数校验字典是通过前端服务器接收用户对所述接口的至少一个校验对象进行校验规则设置所生成得到,并存储到对应的数据库中;根据所述参数校验规则对所述接口参数进行校验,得到参数校验结果。采用本方法能够保证前后端校验结果的一致性,提高后端参数校验的准确性。

Description

参数校验方法、装置、计算机设备和存储介质
技术领域
本申请涉及参数校验技术领域,特别是涉及一种参数校验方法、装置、计算机设备和存储介质。
背景技术
在大多数场景下,参数校验是程序开发中必不可少的过程。在前后端分离架构的系统中,为了保障数据的准确性,往往需要在系统的前端和后端分别对数据进行校验。
目前,开发人员在系统开发过程中,通常对系统前端和后端分别进行开发,采用不同的代码与逻辑,分别对数据进行前端校验与后端校验。然而,由于前端界面样式变化频繁,后端校验容易产生遗漏,容易导致前后端数据校验不统一,且前端和后端分别需要人力进行校验,也造成了人力成本的提高。
发明内容
基于此,有必要针对上述技术问题,提供一种能够保证前后端参数校验结果一致的参数校验方法、装置、计算机设备和存储介质。
第一方面,本申请提供一种参数校验方法,应用于后端服务器,所述方法包括:
接收客户端发送的数据校验请求,根据所述数据校验请求确定请求调用接口对应的接口名称及接口参数;
根据所述接口名称从数据库中查询该接口对应的参数校验字典中的参数校验规则;其中,所述参数校验字典是通过前端服务器接收用户对所述接口的至少一个校验对象进行校验规则设置所生成得到,并存储到对应的数据库中;
根据所述参数校验规则对所述接口参数进行校验,得到参数校验结果。
在一种可能的实现方式中,所述根据所述接口名称从数据库中查询该接口对应的参数校验字典中的参数校验规则的步骤包括:
根据所述接口名称从数据库中查询该接口名称对应的参数校验字典;
遍历所述参数校验字典确定所述接口名称对应的校验对象的参数值,根据所述参数值确定对该接口进行参数校验的参数校验规则。
在一种可能的实现方式中,所述根据所述参数值确定对该接口进行参数校验的参数校验规则的步骤,包括:
利用所述参数值中预设的分割符号确定所述参数值所包含的至少一项校验项;
根据所述校验项对应的配置参数确定对所述接口进行参数校验对应的参数校验规则。
在一种可能的实现方式中,所述参数校验规则包括正则校验规则;
所述根据所述校验项对应的配置参数确定对所述接口进行参数校验对应的参数校验规则的步骤包括:
根据所述校验项对应的配置参数从预先配置的正则配置化管理模块中确定所述接口参数对应的正则校验规则;其中,所述正则配置化管理模块是通过将多种接口参数所对应涉及的多个正则校验规则进行整合得到,所述正则校验规则包括正则表达式名称、正则表达式内容和正则表达式描述信息中的至少一者。
在一种可能的实现方式中,所述参数校验规则包括共性参数校验规则;
所述从数据库中查询该接口对应的参数校验字典中的参数校验规则的步骤包括:
根据所述接口对应的校验对象的名称确定待校验的接口参数为共性参数,从数据库中查询得到所述共性参数对应的共性参数校验规则;其中,所述共性参数校验规则是基于具有相同或相似属性的至少两个校验对象对应的校验规则所设置得到。
在一种可能的实现方式中,所述根据所述参数校验规则对所述接口参数进行校验的步骤包括:
根据各个接口参数对应的参数校验规则判断所述接口参数是否满足所述参数校验规则中对应的参数条件;
若满足,则确定所述接口参数校验通过,否则确定所述接口参数校验不通过。
在一种可能的实现方式中,所述根据所述参数校验规则对所述接口参数进行校验的步骤之后,还包括:
将校验结果返回至所述客户端,并通过所述客户端的显示界面展示校验结果。
第二方面,本申请还提供一种参数校验装置,应用于后端服务器,所述装置包括:
校验请求接收模块,用于接收客户端发送的数据校验请求,根据所述数据校验请求确定请求调用的接口对应的接口名称及接口参数;
校验规则确定模块,用于根据所述接口名称从数据库中查询该接口对应的参数校验字典中的参数校验规则;其中,所述参数校验字典是通过前端服务器接收用户对所述接口的至少一个校验对象进行参数校验规则设置所生成得到,并存储到对应的数据库中;
校验结果得到模块,用于根据所述参数校验规则对所述接口参数进行校验,得到参数校验结果。
第三方面,本申请还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面所提及的方法的步骤。
第四方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所提及的方法的步骤。
上述参数校验方法、装置、计算机设备和存储介质,通过预先通过前端服务器接收用户对接口的至少一个校验对象进行校验规则设置生成该接口对应的参数校验字典,并存储到对应的数据库中,当后端服务器接收到客户端发送的数据校验请求,确定客户端请求调用接口对应的接口名称及接口参数,根据接口名称从数据库中查询该接口对应的参数校验字典中的参数校验规则,根据参数校验规则对该接口参数进行校验,从而使得后端参数校验所使用的规则与前端校验相一致,避免后端参数校验的遗漏问题,提高了后端校验的准确性和校验效率,节省了人力成本。
附图说明
图1为一实施例提供的参数校验方法的应用环境图;
图2为一实施例提供的参数校验方法的流程示意图;
图3为一实施例提供的参数校验规则的确定方法的流程图;
图4为一实施例提供的参数校验方法的另一流程示意图;
图5为一实施例提供的参数校验装置的结构框图;
图6为一实施例中的计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的参数校验方法,可以应用于如图1所示的应用环境中。其中,客户端102通过网络与服务器104通过网络进行通信。用户可以通过客户端102做出相关操作,如输入操作和登录操作等。客户端102响应用户做出的操作,向服务器发送数据校验请求以调用相关的接口。例如,用户做出登录操作,输入相关的身份标识信息,如手机号码、邮件地址、身份证号码、用户昵称、年龄和性别等,客户端102会根据用户做出的登录操作向服务器104发起数据校验请求以请求服务器执行相应的校验操作。服务器104会根据数据校验请求对客户端102发送过来的相关参数,如请求调用的接口名称及其对应的参数进行参数校验,若数据校验通过,则可以进行对应的接口调用,若校验不通过,则返回校验不通过的结果,客户端根据校验结果展示相关信息,以提示用户校验不通过或提示用户做出正确的操作。其中,客户端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在相关技术中,对系统前端和后端分别进行开发。前端会在系统开发中使用表单校验的方式进行参数校验,时常会增加大量逻辑处理和正则校验等去校验表单信息,以保证表单的信息满足需求规定。同时,为了防止攻击者通过劫持,修改参数信息去攻击参数校验不严密的接口,需要后端校验以防止接口被私自调用导致系统遭受破坏。
通常情况下,为了提高系统的稳定性和可维护性,在系统开发过程中,在前后端对于请求的参数都需要校验。在本实施例中,服务器104可以进一步包括前端服务器和后端服务器。前端服务器根据预先配置的前端参数校验规则并执行前端的参数检验,后端服务器根据预先配置的后端参数校验规则并执行后端的参数校验。
在进行前后端数据校验过程中,前端和后端采用不同的代码与逻辑分别进行参数校验,由于对于数据的同一业务规则,前后端有时存在不同的逻辑表述,另外前端界面样式变化频繁导致增加大量的参数校验,容易出现后端数据校验时存在疏漏等问题,导致前后端数据校验结果不统一,影响系统的稳定性。
本申请提供的参数校验方法、装置、计算机设备和存储介质,能够使前后端数据校验结果统一,提高系统的稳定性,解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
下面将结合附图,对本申请的实施例进行描述。
图2是一实施例提供的一种参数校验方法,由服务器来执行。在本实施例中,以应用于后端服务器为例进行说明。
如图2所示,该参数校验方法可以包括以下步骤:
S210、接收客户端发送的数据校验请求,根据所述数据校验请求确定请求调用的接口对应的接口名称及接口参数。
客户端接收用户触发的操作,如客户端接收用户在客户端的显示界面上输入的登陆、打开、选择和删除等操作,根据用户触发的操作向后端服务器发起对应的数据校验请求,以请求后端服务器执行相应的校验操作。如,客户端接收用户触发的登陆操作,则客户端向服务器发送登陆数据校验请求,如客户端接收用户的打开操作,则客户端向服务器发送打开数据校验请求。不同的操作对应的调用接口不同,客户端向服务器请求校验的接口及对应的接口参数也不同。
后端服务器接收客户端发送的数据校验请求,对该数据校验请求进行解析确定本次数据校验所请求调用的接口,包括接口名称及该接口对应的接口参数。其中,每个接口调用请求对应唯一的接口名称。
例如,客户端接收用户的登录操作,客户端根据用户的登录操作向后端服务器发起数据校验请求,以校验登录操作所需要调用的接口及该用户登录操作所携带的接口参数,如用户名、年龄、性别、登录时间等。
S220、根据所述接口名称从数据库中查询该接口对应的参数校验字典中的参数校验规则;其中,所述参数校验字典是通过前端服务器接收用户对所述接口的至少一个校验对象进行校验规则设置所生成得到,并与所述接口对应的接口名称存储到对应的数据库中。
对于数据库,可以是存储数据和信息的库,在本实施例中,数据库可以存储代码,也可以存储参数配置等信息。
对于参数校验字典,是指某一接口对应的多个校验项的校验规则的集合。在本实施例中,在后端服务器对该接口进行参数校验之前,利用前端服务器生成该接口对应的参数校验字典,并保存在数据库中。
用户,如前端开发人员通过参数校验配置界面预先配置至少一个参数校验规则,前端服务器接收用户在参数校验配置界面对接口的至少一个校验对象进行校验规则设置,校验规则配置用于记录各种类型接口对应的至少一个校验对象及其属性信息,包括标识、属性及属性值等。可选的,校验对象包括:用户名称、年龄、性别、邮件地址、电话号码等,校验规则包括是否为必填项、最大值、最小值、单选/多选、正则表达式内容、参数名称等。
在本实施例中,一个接口可以对应一个或多个校验对象,即一个接口可以对应一个或多个接口参数。可选的,参数校验可以按照接口类型进行归类,按照类别设置对应的参数校验规则。
用户在参数校验配置页面进行校验规则设置后,通过设定操作,如触发参数校验设置文件生成按钮触发前端服务器根据参数校验配置页面的校验规则设置内容生成参数校验字典。对于参数校验字典,是指包含接口名称及其对应的参数校验规则的文件集合,例如,对于登陆操作的数据校验,该数据校验对应的调用接口为“登陆接口”,其对应的接口名称为login,则生成的参数校验字典可以包括{“login”:{“name”:“required:true;pattern:正则名称”}}等字典文件,可选的,在本实施例中,该接口的参数校验字典还可以包括{“正则名称”:“正则表达式”}等字典文件,用于查询正则校验时所使用的正则表达式。进一步的,前端服务器将参数校验字典传递至对应的数据库中进行保存,可选的,该数据库可以为持久化数据库。对于同一接口的参数校验规则,新生成的参数校验规则会覆盖上一次生成的参数校验规则,以对该接口的参数校验规则进行更新。
前端服务器生成的参数校验字典可以是前端开发人员在进行前端参数校验时进行校验规则设置所得到。前端服务器可以将生成的参数校验字典实时发送至数据库,也可以在后端服务器接收到数据校验请求时,通过数据库向前端服务器发送接口调用请求,前端服务器将接口名称对应的参数校验规则发送至数据库,以使得后端服务器可以从数据库中查询接口调用请求对应的参数校验规则。
在本实施例中,后端服务器根据接口的接口名称与该接口名称与参数校验字典之间的对应关系从数据库中查询该接口对应的参数校验字典,根据参数校验字典的字段确定对该接口进行参数校验的参数校验规则。
S230、根据所述参数校验规则对所述接口参数进行校验,得到参数校验结果。
后端服务器根据获得的参数校验规则对客户端发送的接口参数进行校验,若接口参数符合参数校验规则设定的规则条件,则判定该接口参数校验通过,若接口参数不符合参数校验规则设定的规则条件,则判定该接口参数校验不通过。
为了更清楚阐述本技术方案,对上述提及的参数校验方法进行举例说明,开发人员通过参数校验配置页面配置前端参数校验的参数校验规则,包括参数校验的接口名称、字段属性、规则表达式和版本号等,前端服务器将配置好的接口名称及其参数校验规则生成参数校验字典并存储到数据库中以备后端校验使用,当用户通过客户端发送数据校验请求以请求接口调用时,后端服务器根据该数据校验请求获取该接口名称及接口参数,并从数据库中查询该接口名称对应的参数校验字典,从参数校验字典中查询得到参数校验规则,根据该接口至少一项校验项对应的参数校验规则对接口参数进行参数校验,从而得到参数校验结果。
本实施例提供的参数校验方法,应用于后端服务器,通过前端服务器接收用户对接口的至少一个校验对象进行校验规则设置所生成并存储到对应的数据库中的参数校验字典,当后端服务器接收到客户端发送的数据校验请求时,从数据库中查询得到该接口对应的参数校验字典中的参数校验规则,按照该参数校验规则进行参数校验,无需后端人员重新配置参数校验规则,节省开发人员的校验工作量,同时后端的参数校验规则和前端的参数校验规则一致,避免了出现校验疏漏等问题,保障了前后端参数校验结果的统一性,提高了数据校验的处理效率和准确性。
为了更清楚地阐述本申请方案,下面对本申请的多个实施步骤进行详细说明。
图3为一实施例提供的参数校验规则的确定方法的流程图,如图3所示,在一实施例中,步骤S220中的根据所述接口名称从数据库中查询该接口对应的参数校验字典中的参数校验规则,可以包括以下步骤:
S2201、根据所述接口名称从数据库中查询该接口名称对应的参数校验字典。
需要说明的是,该参数校验字典与该接口对应的接口名称一一对应,根据接口名称可以从数据库中快速查找出对应的参数校验字典文件。在本实施例中,后端服务器根据接口的接口名称与该接口名称与参数校验字典之间的对应关系从数据库中查询该接口对应的参数校验字典。
S2202、遍历所述参数校验字典确定所述接口名称对应的参数值,根据所述参数值确定对该接口进行参数校验的参数校验规则。
参数校验字典包括多个字段和特殊符号。可以根据特殊符号或该特殊字符所在位置确定接口名称对应的参数值,例如,参数校验字典为{“login”:{“name”:“required:true;pattern:正则名称”}},可以确定接口名称为“login”,接口名称的冒号后的内容为校验对象“name”,校验对象“name”的冒号后的内容为参数值,即参数值为“required:true;pattern:正则名称”。其中,参数值包括至少一个校验项及对该校验项对应的参数校验规则。
在一实施例中,步骤S2202的根据所述参数值确定对该接口进行参数校验的参数校验规则,可以包括以下步骤:
S201、利用所述参数值中预设的分割符号确定所述参数值所包含的至少一项校验项。
参数校验字典中的参数值包括多项校验项,每个校验项通过预设的分割符号分割。通过识别出参数值中的预设的分割符号确定参数值所包含的至少一项校验项。
例如,参数值“required:true;pattern:正则名称”,预设的分割符号为分号“;”,通过识别出参数值的分号可以确定包括两项校验项“required:true”和“pattern:正则名称”。
S202、根据所述校验项对应的配置参数确定对所述接口进行参数校验对应的参数校验规则。
继续参照上述例子进行说明,根据校验项“required”的配置参数是否为true去校验对应的接口参数是否不为空,根据校验项“pattern:正则名称”是否有pattern去查询对应的正则表达式,然后对接口参数进行正则校验。
在其他实施例中,还可以对“login”接口名称的其他校验对象,如“age(年龄)”等校验对象等配置对应的参数校验规则进行参数校验。
在本实施例中,根据校验项中的配置参数确定对应的参数校验规则,按照参数校验规则统一对至少一个接口参数进行校验,而不是在每个接口的处理方法中去进行逻辑校验,从而提高后端参数校验的效率。
在本技术方案中,参数校验规则可以是基于不同接口参数或不同接口类型的多种校验规则,不同的接口参数或接口类型,参数校验规则不同,例如,参数校验规则包括正则校验规则、共性参数校验规则等,以对不同的接口参数进行校验。
在一实施例中,若参数校验规则为正则校验规则,则步骤S302的根据所述校验项对应的配置参数确定对所述接口进行参数校验对应的参数校验规则,可以包括以下步骤:
S401、根据所述校验项对应的配置参数从预先配置的正则配置化管理模块中确定所述接口参数对应的正则校验规则。
其中,所述正则配置化管理模块是通过将多种接口参数所对应涉及的多个正则校验规则进行整合得到,所述正则校验规则包括正则表达式名称、正则表达式内容和正则表达式描述信息中的至少一者。
本实施例中,可以预先通过相关的正则表达式配置页面配置参数校验所涉及的至少一个正则校验规则,例如手机号校验、邮箱格式校验、用户名校验、密码强度校验、合法URL校验等,并将多个正则校验规则进行整合,得到正则配置化管理模块。每个正则校验规则包括正则表达式名称、正则表达式内容和正则表达式描述信息中的一者或多者,其中,正则表达式名称、正则表达式内容和正则表达式描述信息具有一一对应关系。
例如,用户名正则校验规则用于校验用户名,要求用户名需满足8至12位字符,不能含有空格;邮箱注册正则校验规则用户校验邮箱地址,要求邮箱地址需满足6至12位的单词字符,后缀的名称2至10的单词字符,最后接域名。
当进行参数校验时,从正则配置化管理模块中直接获取所需要的正则校验规则。可选的,可以对正则配置化管理模块中的正则校验规则进行修改、新增和删除处理,以更新正则配置化管理模块以满足参数校验的要求,从而实现正则校验时快速从正则配置化管理模块中获取对应的正则表达式,使得参数校验更加标准化,节省开发人员的工作量,提高参数校验的效率。
示例性的,一接口对应的校验项为“pattern:正则名称”,根据其配置参数中存在“pattern”,则去查询“正则名称”对应的正则校验规则,具体的,根据该正则名称从正则配置化管理模块中查询该正则名称对应的正则校验规则,根据正则校验规则中的正则表达式内容和正则表达式描述等对接口参数进行正则校验。
在一实施例中,若参数校验规则为共性参数校验规则;步骤S220的从数据库中查询该接口对应的参数校验字典中的参数校验规则,可以包括以下步骤:
S402、根据所述接口对应的校验对象的名称确定待校验的接口参数为共性参数,从数据库中查询得到所述共性参数对应的共性参数校验规则。
其中,所述共性参数校验规则是基于具有相同或相似属性的至少两个校验对象对应的校验规则所设置得到。
对于共性参数,是指在参数校验上具有相同或相似属性的多个校验对象,这多个校验对象的参数校验规则具有普遍性,在不同接口上,共性参数的校验规则基本一致。
在本实施例中,根据至少两个校验对象所具有的相同或相似属性,预先设置同时满足该多个校验对象进行数据校验的校验规则。例如,对于金额、年龄和用户名等校验对象的校验,在不同接口上这类参数的校验方法基本一致,则将这类参数归属为共性参数,将这些共性参数的校验方法进行封装成公共校验,得到共性参数校验规则,在配置接口的共性参数校验时直接从对应的数据库中查询得到共性参数校验规则进行接口参数校验。
在一实施例中,可以将共性参数的校验项配置成公共因子,设置出适合多个共性参数进行校验的参数校验规则,当需要对某一属于共性参数的接口参数进行校验时,直接运用该共性参数校验规则进行校验,无需为各种类型接口的具有相同或相似属性的校验对象额外配置对应的校验规则,简化了参数校验配置的流程,提高参数校验的效率。
在一实施例中,步骤S230中的根据所述参数校验规则对所述接口参数进行校验,可以包括以下步骤:
S2301、根据各个接口参数对应的参数校验规则判断所述接口参数是否满足所述参数校验规则中对应的参数条件;若是,则执行步骤S2302,否则执行步骤S2303。
对于参数条件,是指接口参数校验通过所满足的条件。
可选的,接口参数可以是多个,每个接口参数对应的参数校验规则可以不同。参数校验规则可以限定进行参数校验的方式,如正则校验等,还可以限定参数条件,如是否为空、数值范围等。
S2302、确定所述接口参数校验通过。
例如,某一接口对应的参数校验规则中的参数条件限定“用户身份标识不为空,且为6~12个数字”,若请求进行数据校验的接口参数为用户身份表示参数为0123456,则确定该接口参数校验通过。
S2303、确定所述接口参数校验不通过。
例如,某一接口对应的参数校验规则中的参数条件限定“身份证号码不为空,且年龄大于18周岁”,若该用户进行登录操作,请求进行数据校验的接口参数为身份证号码,根据身份证号码确定该用户的年龄不符合登录条件,则确定该接口参数校验不通过。
图4为一实施例提供的参数校验方法的另一流程图,如图4所示,在一实施例中,步骤S230根据所述参数校验规则对所述接口参数进行校验之后,还可以包括以下步骤:
S240、将校验结果返回至所述客户端,并通过所述客户端的显示界面展示校验结果。
请求进行数据校验的接口参数可以是一个或多个,若所有的接口参数均校验通过,则得到校验通过的校验结果,若一个或多个接口参数校验不通过,则得到校验不通过的校验结果。
若校验通过,则将校验通过结果返回至客户端,校验通过结果可以通过多种方式呈现,如下一步骤的提示信息,或刷新下一画面等,如登录操作校验通过,在客户端的显示界面展示“正在登录中”等信息,或进行登录画面更新,自动展示下一画面。若检验不通过,则将校验不通过结果返回至客户端,校验不通过结果同样可以通过多种方式呈现,如展示“参数异常”的提示信息,或者提示用户的正确输入信息等。
例如,将接口参数中的用户名参数进行正则校验,正则校验规则要求用户名需满足8~12位字符,不能含有空格。按照正则校验规则与接口参数中的用户名参数进行匹配提示,若匹配成功,提示此用户名可用;若匹配失败,提示此用户名含有非法字符。
为了更清楚地阐述本申请的技术方案,结合以登录操作为例示例进行详细说明。
用户首先在参数校验配置页面配置登录操作时所请求调动的接口的数据校验规则的设置,例如,参数校验配置页面上展示多项校验项,如用户名、年龄、性别等。根据各个校验项的属性设置对应的参数条件,如用户名的参数条件为“不为空”,年龄的参数条件为“位于最大值69到最小值18之间”,性别的参数条件为“无限制”等。
用户通过点击参数校验配置页面上的相关按钮,如“生成”或“确定”按钮,服务器获取用户在参数校验配置页面所设置的内容,根据至少一个校验对象及其对应的属性及设置的参数条件生成参数校验字典,并保存到数据库中。参数校验字典是按照预定格式生成的、包括一系列字符串的代码文件,可选的,每个参数校验字典具有唯一标识,例如,可以将接口名称与该参数校验字典进行映射,将接口名称作为该参数检验字典的唯一标识,如通过用户名的关键字“name”作为某一接口参数的某一参数校验字典的唯一标识。
当客户端接收到用户做出的登陆操作时,向服务器发送数据校验请求以请求调用相关接口,服务器根据该数据校验请求确定接口名称及接口参数,根据接口名称从数据库中查找出对应的参数校验字典参数校验字典为{“login”:{“name”:“required:true;pattern:正则名称”}}。
进一步的,根据识别出参数校验字典中预设的分割符号,确定参数校验字典中的至少一个校验对象及其对应的参数校验规则,其中,参数校验规则包括校验项及其对应的参数条件,根据校验项的配置参数可以确定是否按照该校验项的参数条件对该校验对象进行校验。若接口参数均符合各项校验项的参数条件,则校验通过,若接口参数的其中一项或多项校验项不满足对应的参数条件,则校验不通过,向客户端反馈对应的提示信息。
需要说明的是,可以是前端服务器根据该预先设置的参数校验规则进行前端参数校验通过后,再根据该参数校验规则所生成得到参数校验字典并保存到数据库,后端从数据库的参数校验字典中查询对应的参数校验规则进行参数校验,还可以是前端服务器根据该预设设置的至少一个校验对象的参数校验规则生成参数校验字典,并将参数校验字典保存到数据库中,在进行前端和后端参数校验时,前端服务器和后端服务器分别从数据库的参数校验字典中查询对应的参数校验规则进行参数校验。
本实施例提供的参数校验方法,无需后端人员重新配置参数校验规则,使得前端和后盾参数校验由同一人即可完成,节省了开发人员的工作量,同时使得后端的参数校验规则和前端的参数校验规则一致,避免了出现校验疏漏等问题,保障了前后端参数校验结果的统一性,提高数据校验效率和准确性。
以上示例仅用于辅助阐述本公开技术方案,其涉及的图示内容及具体流程不构成对本公开技术方案的使用场景的限定。
下面对参数校验装置的相关实施例进行详细阐述。
图5是本申请实施例提供的一种参数校验装置的结构示意图,该参数校验装置可以执行于服务器,下面以后端服务器为例进行说明。
如图5所示,该参数校验装置200可以包括:校验请求接收模块210、校验规则确定模块220和校验结果得到模块230;
其中,校验请求接收模块210,用于接收客户端发送的数据校验请求,根据所述数据校验请求确定请求调用的接口对应的接口名称及接口参数;
校验规则确定模块220,用于根据所述接口名称从数据库中查询该接口对应的参数校验字典中的参数校验规则;其中,所述参数校验字典是通过前端服务器接收用户对所述接口的至少一个校验对象进行参数校验规则设置所生成得到,并存储到对应的数据库中;
校验结果得到模块230,用于根据所述参数校验规则对所述接口参数进行校验,得到参数校验结果。
本实施例提供的参数校验方法,通过后端服务器从数据库中直接从由前端服务器接收用户对接口调用数据校验配置的校验规则所生成的参数校验字典中获取对应的参数校验规则进行接口参数校验,保证了前端和后端对同一接口参数校验的一致性,避免出现校验疏漏等问题,提高了参数校验的准确性,同时节省了开发人员的工作量,提高参数校验效率。
在一种可能的实现方式中,校验规则确定模块220包括:校验字典查询单元和校验规则确定单元;其中,校验字典查询单元,用于根据所述接口名称从数据库中查询该接口名称对应的参数校验字典;校验规则确定单元,用于遍历所述参数校验字典确定所述接口名称对应的校验对象的参数值,根据所述参数值确定对该接口进行参数校验的参数校验规则。
在一种可能的实现方式中,校验规则确定单元包括:校验项确定子单元和校验规则确定子单元;其中,校验项确定子单元,用于利用所述参数值中预设的分割符号确定所述参数值所包含的至少一项校验项;校验规则确定子单元,用于根据所述校验项对应的配置参数确定对所述接口进行参数校验对应的参数校验规则。
在一种可能的实现方式中,所述参数校验规则包括正则校验规则;校验规则确定子单元具体用于根据所述校验项对应的配置参数从预先配置的正则配置化管理模块中确定所述接口参数对应的正则校验规则;其中,所述正则配置化管理模块是通过将多种接口参数所对应涉及的多个正则校验规则进行整合得到,所述正则校验规则包括正则表达式名称、正则表达式内容和正则表达式描述信息中的至少一者。
在一种可能的实现方式中,所述参数校验规则包括共性参数校验规则;校验规则确定模块220包括共性参数校验规则确定单元,用于根据所述接口对应的校验对象的名称确定待校验的接口参数为共性参数,从数据库中查询得到所述共性参数对应的共性参数校验规则;其中,所述共性参数校验规则是基于具有相同或相似属性的至少两个校验对象对应的校验规则所设置得到。
在一种可能的实现方式中,校验结果得到模块包括:参数条件判断单元,用于根据各个接口参数对应的参数校验规则判断所述接口参数是否满足所述参数校验规则中对应的参数条件;若满足,则确定所述接口参数校验通过,否则确定所述接口参数校验不通过。
在一种可能的实现方式中,参数校验装置200还包括:校验结果返回模块,用于将校验结果返回至所述客户端,并通过所述客户端的显示界面展示校验结果。
本实施例的参数校验装置可执行本申请前述实施例所示的参数校验方法,其实现原理相类似,此处不再赘述。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储前端服务器接收用户对所述接口的至少一个校验对象进行校验规则设置所生成的参数校验字典和其他与参数校验相关的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种参数校验方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
接收客户端发送的数据校验请求,根据所述数据校验请求确定请求调用接口对应的接口名称及接口参数;
根据所述接口名称从数据库中查询该接口对应的参数校验字典中的参数校验规则;其中,所述参数校验字典是通过前端服务器接收用户对所述接口的至少一个校验对象进行校验规则设置所生成得到,并存储到对应的数据库中;
根据所述参数校验规则对所述接口参数进行校验,得到参数校验结果。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据所述接口名称从数据库中查询该接口名称对应的参数校验字典;遍历所述参数校验字典确定所述接口名称对应的校验对象的参数值,根据所述参数值确定对该接口进行参数校验的参数校验规则。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:利用所述参数值中预设的分割符号确定所述参数值所包含的至少一项校验项;根据所述校验项对应的配置参数确定对所述接口进行参数校验对应的参数校验规则。
在一个实施例中,所述参数校验规则包括正则校验规则;处理器执行计算机程序时还实现以下步骤:根据所述校验项对应的配置参数从预先配置的正则配置化管理模块中确定所述接口参数对应的正则校验规则;其中,所述正则配置化管理模块是通过将多种接口参数所对应涉及的多个正则校验规则进行整合得到,所述正则校验规则包括正则表达式名称、正则表达式内容和正则表达式描述信息中的至少一者。
在一个实施例中,所述参数校验规则包括共性参数校验规则;处理器执行计算机程序时还实现以下步骤:根据所述接口对应的校验对象的名称确定待校验的接口参数为共性参数,从数据库中查询得到所述共性参数对应的共性参数校验规则;其中,所述共性参数校验规则是基于具有相同或相似属性的至少两个校验对象对应的校验规则所设置得到。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据各个接口参数对应的参数校验规则判断所述接口参数是否满足所述参数校验规则中对应的参数条件;若满足,则确定所述接口参数校验通过,否则确定所述接口参数校验不通过。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将校验结果返回至所述客户端,并通过所述客户端的显示界面展示校验结果。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收客户端发送的数据校验请求,根据所述数据校验请求确定请求调用接口对应的接口名称及接口参数;
根据所述接口名称从数据库中查询该接口对应的参数校验字典中的参数校验规则;其中,所述参数校验字典是通过前端服务器接收用户对所述接口的至少一个校验对象进行校验规则设置所生成得到,并存储到对应的数据库中;
根据所述参数校验规则对所述接口参数进行校验,得到参数校验结果。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据所述接口名称从数据库中查询该接口名称对应的参数校验字典;遍历所述参数校验字典确定所述接口名称对应的校验对象的参数值,根据所述参数值确定对该接口进行参数校验的参数校验规则。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:利用所述参数值中预设的分割符号确定所述参数值所包含的至少一项校验项;根据所述校验项对应的配置参数确定对所述接口进行参数校验对应的参数校验规则。
在一个实施例中,所述参数校验规则包括正则校验规则;计算机程序被处理器执行时还实现以下步骤:根据所述校验项对应的配置参数从预先配置的正则配置化管理模块中确定所述接口参数对应的正则校验规则;其中,所述正则配置化管理模块是通过将多种接口参数所对应涉及的多个正则校验规则进行整合得到,所述正则校验规则包括正则表达式名称、正则表达式内容和正则表达式描述信息中的至少一者。
在一个实施例中,所述参数校验规则包括共性参数校验规则;计算机程序被处理器执行时还实现以下步骤:根据所述接口对应的校验对象的名称确定待校验的接口参数为共性参数,从数据库中查询得到所述共性参数对应的共性参数校验规则;其中,所述共性参数校验规则是基于具有相同或相似属性的至少两个校验对象对应的校验规则所设置得到。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据各个接口参数对应的参数校验规则判断所述接口参数是否满足所述参数校验规则中对应的参数条件;若满足,则确定所述接口参数校验通过,否则确定所述接口参数校验不通过。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将校验结果返回至所述客户端,并通过所述客户端的显示界面展示校验结果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种参数校验方法,其特征在于,应用于后端服务器,所述方法包括:
接收客户端发送的数据校验请求,根据所述数据校验请求确定请求调用接口对应的接口名称及接口参数;
根据所述接口名称从数据库中查询该接口对应的参数校验字典中的参数校验规则;其中,所述参数校验字典是通过前端服务器接收用户对所述接口的至少一个校验对象进行校验规则设置所生成得到,并存储到对应的数据库中;
根据所述参数校验规则对所述接口参数进行校验,得到参数校验结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述接口名称从数据库中查询该接口对应的参数校验字典中的参数校验规则的步骤包括:
根据所述接口名称从数据库中查询该接口名称对应的参数校验字典;
遍历所述参数校验字典确定所述接口名称对应的校验对象的参数值,根据所述参数值确定对该接口进行参数校验的参数校验规则。
3.根据权利要求2所述的方法,其特征在于,所述根据所述参数值确定对该接口进行参数校验的参数校验规则的步骤,包括:
利用所述参数值中预设的分割符号确定所述参数值所包含的至少一项校验项;
根据所述校验项对应的配置参数确定对所述接口进行参数校验对应的参数校验规则。
4.根据权利要求3所述的方法,其特征在于,所述参数校验规则包括正则校验规则;
所述根据所述校验项对应的配置参数确定对所述接口进行参数校验对应的参数校验规则的步骤包括:
根据所述校验项对应的配置参数从预先配置的正则配置化管理模块中确定所述接口参数对应的正则校验规则;其中,所述正则配置化管理模块是通过将多种接口参数所对应涉及的多个正则校验规则进行整合得到,所述正则校验规则包括正则表达式名称、正则表达式内容和正则表达式描述信息中的至少一者。
5.根据权利要求1所述的方法,其特征在于,所述参数校验规则包括共性参数校验规则;
所述从数据库中查询该接口对应的参数校验字典中的参数校验规则的步骤包括:
根据所述接口对应的校验对象的名称确定待校验的接口参数为共性参数,从数据库中查询得到所述共性参数对应的共性参数校验规则;其中,所述共性参数校验规则是基于具有相同或相似属性的至少两个校验对象对应的校验规则所设置得到。
6.根据权利要求1所述的方法,其特征在于,所述根据所述参数校验规则对所述接口参数进行校验的步骤包括:
根据各个接口参数对应的参数校验规则判断所述接口参数是否满足所述参数校验规则中对应的参数条件;
若满足,则确定所述接口参数校验通过,否则确定所述接口参数校验不通过。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述根据所述参数校验规则对所述接口参数进行校验的步骤之后,还包括:
将校验结果返回至所述客户端,并通过所述客户端的显示界面展示校验结果。
8.一种参数校验装置,其特征在于,应用于后端服务器,所述装置包括:
校验请求接收模块,用于接收客户端发送的数据校验请求,根据所述数据校验请求确定请求调用的接口对应的接口名称及接口参数;
校验规则确定模块,用于根据所述接口名称从数据库中查询该接口对应的参数校验字典中的参数校验规则;其中,所述参数校验字典是通过前端服务器接收用户对所述接口的至少一个校验对象进行参数校验规则设置所生成得到,并存储到对应的数据库中;
校验结果得到模块,用于根据所述参数校验规则对所述接口参数进行校验,得到参数校验结果。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202111141845.9A 2021-09-28 2021-09-28 参数校验方法、装置、计算机设备和存储介质 Pending CN114003432A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111141845.9A CN114003432A (zh) 2021-09-28 2021-09-28 参数校验方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111141845.9A CN114003432A (zh) 2021-09-28 2021-09-28 参数校验方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN114003432A true CN114003432A (zh) 2022-02-01

Family

ID=79921811

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111141845.9A Pending CN114003432A (zh) 2021-09-28 2021-09-28 参数校验方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN114003432A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115086436A (zh) * 2022-06-16 2022-09-20 平安银行股份有限公司 Api间参数校验方法、装置、计算机设备及存储介质
CN116633698A (zh) * 2023-07-25 2023-08-22 中国电信股份有限公司 数据传输方法、装置、计算机设备、存储介质和程序产品

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115086436A (zh) * 2022-06-16 2022-09-20 平安银行股份有限公司 Api间参数校验方法、装置、计算机设备及存储介质
CN116633698A (zh) * 2023-07-25 2023-08-22 中国电信股份有限公司 数据传输方法、装置、计算机设备、存储介质和程序产品
CN116633698B (zh) * 2023-07-25 2023-10-31 中国电信股份有限公司 数据传输方法、装置、计算机设备、存储介质和程序产品

Similar Documents

Publication Publication Date Title
CN109474578B (zh) 报文消息校验方法、装置、计算机设备和存储介质
CN110297672B (zh) 页面动态生成方法、装置、计算机设备及存储介质
CN111596965B (zh) 项目工程初始化方法、装置、计算机设备和存储介质
US20180004852A1 (en) Method and system for facilitating terminal identifiers
CN111666565A (zh) 沙箱仿真测试方法、装置、计算机设备和存储介质
CN108829838B (zh) 一种账户信息批量处理方法及服务器
CN110633160A (zh) 接口调用方法、装置、计算机设备和存储介质
CN111625782B (zh) 源码的访问权限控制方法、装置、计算机设备和存储介质
CN109361628B (zh) 报文组装方法、装置、计算机设备和存储介质
CN114003432A (zh) 参数校验方法、装置、计算机设备和存储介质
CN114531477B (zh) 功能组件的配置方法、装置、计算机设备和存储介质
CN109144487B (zh) 进件业务开发方法、装置、计算机设备和存储介质
US10656939B2 (en) Modeling lifetime of hybrid software application using application manifest
CN108959384B (zh) 网页数据获取方法、装置、计算机设备和存储介质
WO2021217846A1 (zh) 接口数据处理方法、装置、计算机设备和存储介质
CN110704863A (zh) 配置信息处理方法、装置、计算机设备和存储介质
CN108415998B (zh) 应用依赖关系更新方法、终端、设备及存储介质
US9547508B2 (en) Universal database driver
CN110727477B (zh) 组件加载方法、装置、计算机设备和存储介质
CN113778950B (zh) 授信文件的获取方法、索引服务器、查询服务器和介质
CN111143399B (zh) 数据处理方法、装置、存储介质和计算机设备
CN112783866A (zh) 数据读取方法、装置、计算机设备和存储介质
CN113051299A (zh) 代理信息处理方法、装置、计算机设备和存储介质
CN111597240A (zh) 数据导出方法、装置、计算机设备和存储介质
CN110750511A (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