一种接口参数校验方法及组件技术

技术编号:15895096 阅读:18 留言:0更新日期:2017-07-28 19:42
本发明专利技术提供了一种接口参数校验方法,包括以下步骤:客户通过所述客户端对参数进行自定义,所述注解解析模块对参数进行解析并将解析结果数据发送给所述校验规则生成模块,所述校验规则生成模块根据所述解析结果数据生成自定义引用数据类型的比较规则,所述注解校验模块根据所述校验规则生成模块生成的比较规则的逐个属性,去参数对象中寻找与之相对应的属性,然后通过自定义的比较规则对属性的值进行比较,如果没有找到对应的属性或者与之对应的属性值不相同,则为校验失败,否则校验通过,该接口参数校验方法可基于注解、json、xml多种格式对框架进行多样化实现,更好地支持参数的强依赖性,能够支持复杂的参数类型。

Method and component for verifying interface parameters

The present invention provides an interface parameter calibration method, which comprises the following steps: customer to customize the parameters through the client, the annotation analysis module parameter analysis and the analytical results of data sent to the check rule generation module, the parity rule generation module according to the analytical results of data generating custom reference rules comparison of data types, the annotation module according to the rules of the property by checking rules to generate the attributes to find the corresponding parameters of the object, and then through the comparison of the rules of custom attributes or attribute values are compared, and the corresponding value is not the same if there is no corresponding attribute it is found, the check fails, otherwise check through the calibration of the parameters, JSON, XML, annotation interface can be based on a variety of formats The framework is implemented in a variety of ways to better support the strong dependency of parameters and can support complex parameter types.

【技术实现步骤摘要】
一种接口参数校验方法及组件
本专利技术涉及接口检验
,尤其涉及一种接口参数校验方法及组件。
技术介绍
众所周知,只要有接口,就会有参数,然而便有了参数的校验。对于业务接口来说,业务代码应该是一目了然,只有业务相关的逻辑思路,而不应该存在大量的if-if来对参数或者数据本身的校验或者一些其他的处理,为了增强代码得可读性、可维护性,接口参数的校验处理是非常重要的。当前很多流行的开源框架都会有自身的参数校验机制、比如struts2、springmvc的Validator机制、hibernate-validator、commons-validator等;对于很多情景,这些第三方组件无法满足我们的需要,比如参数的依赖关系等。它们都只是简单的提供校验参数字段的格式,并且这些校验器2020都是有状态的,导致校验的性能不好。对于一些大数据量的操作处理,就显得很吃力。对于互联网平台的高性能的追求,低效率的接口往往是不能适用的。因此,本领域的技术人员亟需研究出一种可基于注解、json、xml多种格式对框架进行多样化实现,更好地支持参数的强依赖性,能够支持复杂的参数类型,统一接口开发模式标准,规范代码一致性,增强系统的稳定性、易维护性、健壮性,增强代码得可读性、可维护性,接口参数的更加准确地进行校验处理的接口参数校验方法及组件。
技术实现思路
本专利技术要解决的技术问题是提供一种接口参数校验方法及组件,该接口参数校验方法可基于注解、json、xml多种格式对框架进行多样化实现,更好地支持参数的强依赖性,能够支持复杂的参数类型,统一接口开发模式标准,规范代码一致性,增强系统的稳定性、易维护性、健壮性,增强代码得可读性、可维护性,接口参数的更加准确地进行校验处理。为解决上述技术问题,本专利技术提供了提供了一种接口参数校验方法,提供客户端、校验器及服务器,所述校验器包括注解解析模块、注解校验模块及校验规则生成模块,所述接口参数校验方法包括以下步骤:所述客户端请求服务端的一个接口,客户通过所述客户端对参数进行自定义,所述注解解析模块对参数进行解析并将解析结果数据发送给所述校验规则生成模块,所述校验规则生成模块根据所述解析结果数据生成自定义引用数据类型的比较规则,所述注解校验模块根据所述所述校验规则生成模块生成的比较规则的逐个属性,去参数对象中寻找与之相对应的属性,然后通过自定义的比较规则对属性的值进行比较,如果没有找到对应的属性或者与之对应的属性值不相同,则为校验失败,否则校验通过。优选地,所述注解校验模块支持xml配置、json配置、以及基于java的自定义注解配置。优选地,所述步骤“所述校验规则生成模块根据所述解析结果数据生成自定义引用数据类型的比较规则”的实现步骤包括:所述校验规则生成模块根据所述解析结果数据生成实现基础类型自定义规则;所述校验规则生成模块根据所述解析结果数据生成自定义校验规则;其中,所述实现基础类型自定义规则包括must、int、strin、len、date、reg、long、float及double。优选地,所述规则must的实现是:该规则指定字段是必要的,不能为null或空串;所述规则int的实现是:该规则指定的字段非null或空串,则为int型数据,且在必须在规定大小内;所述规则strin的实现是:该规则指定的字段如果非null或空串,则要求为指定字串数组中的一个;所述规则len的实现是:该规则指定的字段非null或空串,要求为指定长度;所述规则date的实现是:该规则指定的字段非null或空串,要求为指定日期格式;所述规则reg的实现是:该规则指定的字段非null或空串,要求匹配指定正则表达式;所述规则long的实现是:该规则指定的字段非null或空串,则为long型数据,且在必须在规定大小内;所述规则float的实现是:该规则指定的字段非null或空串,则为float型数据,且在必须在规定大小内。所述规则double的实现是:该规则指定的字段非null或空串,则为double型数据,且在必须在规定大小内。优选地,所述步骤“所述校验规则生成模块根据所述解析结果数据生成自定义校验规则”的实现步骤包括:所述校验规则生成模块定义validateRuleHandler接口的规则对象与参数对象的逻辑;根据规则对象与参数对象添加自定义规则,配置自定义规则的处理器的完整路径。优选地,所述validateRuleHandler接口的规则对象为RuleInfo对象,所述RuleInfo对象为需要校验业务接口的实现定义好的接口参数所生成的规则对象,所述参数对象为filedValue-Object对象,所述filedValue-Object对象为业务接口调用方所传的参数生成的参数对象。优选地,所述步骤“所述注解校验模块根据所述所述校验规则生成模块生成的比较规则的逐个属性,去参数对象中寻找与之相对应的属性,然后通过自定义的比较规则对属性的值进行比较”的实现步骤包括:所述注解校验模块获取所述客户端传过来的参数封装成参数对象,根据注解解析模块注解后的参数对象获取对应的规则对象,寻找与所述规则对象相对应的属性,然后通过自定义的比较规则对属性的值进行比较,如果校验成成功,则执行接口的业务逻辑,否则,不执行接口的业务逻辑。优选地,所述接口参数校验方法还包括:所述注解校验模块将校验结果返回至所述客户端的参数对象。优选地,所述校验规则生成模块还生成字段全局必要性检验的规则。为解决上述技术问题,本专利技术还提供一种接口参数校验方法的接口参数校验组件;采用了上述方法及组件之后,所述客户端请求服务端的一个接口,所述校验器包括注解解析模块、注解校验模块及校验规则生成模块,客户通过所述客户端对参数进行自定义,所述注解解析模块对参数进行解析并将解析结果数据发送给所述校验规则生成模块,所述校验规则生成模块根据所述解析结果数据生成自定义引用数据类型的比较规则,所述注解校验模块根据所述所述校验规则生成模块生成的比较规则的逐个属性,去参数对象中寻找与之相对应的属性,然后通过自定义的比较规则对属性的值进行比较,如果没有找到对应的属性或者与之对应的属性值不相同,则为校验失败,否则校验通过,该接口参数校验方法可基于注解、json、xml多种格式对框架进行多样化实现,更好地支持参数的强依赖性,能够支持复杂的参数类型,统一接口开发模式标准,规范代码一致性,增强系统的稳定性、易维护性、健壮性,增强代码得可读性、可维护性,接口参数的更加准确地进行校验处理。附图说明图1是本专利技术的一种接口参数校验方法的执行流程图;图2是本专利技术的一种接口参数校验方法的整体模型示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用于解释本专利技术,并不用于限定本专利技术。实施例1请参阅图1至图2,图1是本专利技术的一种接口参数校验方法的执行流程图;图2是本专利技术的一种接口参数校验方法的整体模型示意图。本专利技术公开了一种接口参数校验方法,提供客户端10、校验器20及服务器30,所述校验器20包括注解解析模块21、注解校验模块22及校验规则生成模块23,所述接口参数校验方法包括以下步骤:所述客户端10请求服务端的一本文档来自技高网...
一种接口参数校验方法及组件

【技术保护点】
一种接口参数校验方法,其特征在于:提供客户端、校验器及服务器,所述校验器包括注解解析模块、注解校验模块及校验规则生成模块,所述接口参数校验方法包括以下步骤:所述客户端请求服务端的一个接口,客户通过所述客户端对参数进行自定义,所述注解解析模块对参数进行解析并将解析结果数据发送给所述校验规则生成模块,所述校验规则生成模块根据所述解析结果数据生成自定义引用数据类型的比较规则,所述注解校验模块根据所述所述校验规则生成模块生成的比较规则的逐个属性,去参数对象中寻找与之相对应的属性,然后通过自定义的比较规则对属性的值进行比较,如果没有找到对应的属性或者与之对应的属性值不相同,则为校验失败,否则校验通过。

【技术特征摘要】
1.一种接口参数校验方法,其特征在于:提供客户端、校验器及服务器,所述校验器包括注解解析模块、注解校验模块及校验规则生成模块,所述接口参数校验方法包括以下步骤:所述客户端请求服务端的一个接口,客户通过所述客户端对参数进行自定义,所述注解解析模块对参数进行解析并将解析结果数据发送给所述校验规则生成模块,所述校验规则生成模块根据所述解析结果数据生成自定义引用数据类型的比较规则,所述注解校验模块根据所述所述校验规则生成模块生成的比较规则的逐个属性,去参数对象中寻找与之相对应的属性,然后通过自定义的比较规则对属性的值进行比较,如果没有找到对应的属性或者与之对应的属性值不相同,则为校验失败,否则校验通过。2.根据权利要求1所述的接口参数校验方法,其特征在于:所述注解校验模块支持xml配置、json配置、以及基于java的自定义注解配置。3.根据权利要求1所述的接口参数校验方法,其特征在于:所述步骤“所述校验规则生成模块根据所述解析结果数据生成自定义引用数据类型的比较规则”的实现步骤包括:所述校验规则生成模块根据所述解析结果数据生成实现基础类型自定义规则;所述校验规则生成模块根据所述解析结果数据生成自定义校验规则;其中,所述实现基础类型自定义规则包括must、int、strin、len、date、reg、long、float及double。4.根据权利要求3所述的接口参数校验方法,其特征在于:所述规则must的实现是:该规则指定字段是必要的,不能为null或空串;所述规则int的实现是:该规则指定的字段非null或空串,则为int型数据,且在必须在规定大小内;所述规则strin的实现是:该规则指定的字段如果非null或空串,则要求为指定字串数组中的一个;所述规则len的实现是:该规则指定的字段非null或空串,要求为指定长度;所述规则date的实现是:该规则指定的字段非null或空串,要求为指定日期格式;所述规则reg的实现是:该规则指定的字段非null或空串,要求匹配指定正则表达式;所述规则long的实现是:该规则指定的字段非null或空串,则为long型数据,且在必须在规定大小内;所述规则float的实现是:该规则指定的字段非null或空串,则为float型数据,且在必须在规定大小内。所述规则double的实现是:该规则指定的字段非null或空串,则为double型数据,且在必须在...

【专利技术属性】
技术研发人员:龚杰王国彬张华杰李辉
申请(专利权)人:深圳市彬讯科技有限公司
类型:发明
国别省市:广东,44

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

1