[发明专利]一种参数校验方法和装置在审
申请号: | 201810825281.2 | 申请日: | 2018-07-25 |
公开(公告)号: | CN110765422A | 公开(公告)日: | 2020-02-07 |
发明(设计)人: | 刘小云 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F21/12 | 分类号: | G06F21/12;G06F8/61 |
代理公司: | 11219 中原信达知识产权代理有限责任公司 | 代理人: | 张一军;郭晗 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 参数校验 业务逻辑 抽象业务 输入参数 校验 字段 计算机技术领域 切面 业务逻辑执行 方法和装置 对象接收 方法参数 可扩展性 校验结果 业务代码 低耦合 可复用 预定义 工作量 侵入 拦截 开发 | ||
本发明公开了一种参数校验方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:通过预定义的抽象业务对象接收业务逻辑的输入参数;在所述业务逻辑执行之前通过切面拦截所述业务逻辑,并在所述业务逻辑的方法参数包括所述抽象业务对象时,获取所述输入参数的待校验字段列表;按照与所述抽象业务对象对应的参数校验规则,校验所述待校验字段列表中的各字段,以得到所述业务逻辑的输入参数校验结果。该实施方式使得参数校验逻辑不侵入业务代码,参数校验逻辑和业务逻辑之间低耦合,且开发通用性、可复用性、可扩展性好,简化开发成本和参数校验的工作量。
技术领域
本发明涉及计算机技术领域,尤其涉及一种参数校验方法和装置。
背景技术
JAVA应用程序的开发中,系统需要从与用户的交互获取用户提交的输入参数,这样不得不面临两种异常情况:第一种是参数缺失;第二种是参数值不合法。当追求好的用户体验和系统健壮性时不得不进行参数校验,从而将参数不合法时终端业务处理并且将原因告知系统的用户。常用的处理异常方式大致分为两种:一是细处理,即在业务逻辑内部进行参数校验;二是未处理(参数的缺失或参数不合法会浪费服务端资源,甚至可能导致程序的崩溃)。
现有的参数校验方案(上述的细处理)在业务逻辑内部进行参数校验,参数校验逻辑需要侵入业务代码,且在系统庞大、业务繁多时,参数校验工作繁琐,扩展性差,由于业务功能的差异性参数校验逻辑很难公用。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
现有的参数校验方案需要侵入业务代码,且参数校验工作繁琐,扩展性差。
发明内容
有鉴于此,本发明实施例提供一种参数校验方法和装置,使得参数校验逻辑不侵入业务代码,参数校验逻辑和业务逻辑之间低耦合,且开发通用性、可复用性、可扩展性好,简化开发成本和参数校验的工作量。
为实现上述目的,根据本发明实施例的一个方面,提供了一种参数校验方法。
一种参数校验方法,包括:通过预定义的抽象业务对象接收业务逻辑的输入参数;在所述业务逻辑执行之前通过切面拦截所述业务逻辑,并在所述业务逻辑的方法参数包括所述抽象业务对象时,获取所述输入参数的待校验字段列表;按照与所述抽象业务对象对应的参数校验规则,校验所述待校验字段列表中的各字段,以得到所述业务逻辑的输入参数校验结果。
可选地,通过预定义的抽象业务对象接收业务逻辑的输入参数的步骤之前,包括:定义抽象业务基类,所述抽象业务基类是所述抽象业务对象所属子类的父类;其中,所述抽象业务基类包括判断参数是否合法的业务方法、设置参数不合法的详情信息的业务方法、获取验证字段的业务方法以及存储参数不合法信息的数据格式的字段。
可选地,获取所述输入参数的待校验字段列表的步骤,包括:调用所述抽象业务基类中的获取验证字段的业务方法,以通过JAVA反射获取所述抽象业务对象所属子类中的所有带有注解的字段,从而得到所述输入参数的待校验字段列表。
可选地,获取所述输入参数的待校验字段列表的步骤,包括:调用所述抽象业务对象所属子类中自定义的获取验证字段的业务方法,以通过JAVA反射获取所述抽象业务对象所属子类中的所有带有注解的字段;根据所述抽象业务对象所属子类自定义的筛选规则对所述获取的字段进行筛选,根据筛选出的字段得到所述输入参数的待校验字段列表。
可选地,按照与所述抽象业务对象对应的参数校验规则,校验所述待校验字段列表中的各字段的步骤,包括:调用所述抽象业务基类中判断参数是否合法的业务方法,以根据所述注解中的配置信息,执行第一校验,或者执行所述第一校验和第二校验;其中,所述第一校验包括:对所述待校验字段列表中的各字段是否空进行校验;所述第二校验包括:对各字段的如下三者中至少一者进行校验:字符最大长度、字符最小长度、正则表达式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810825281.2/2.html,转载请声明来源钻瓜专利网。