CN112650488A - 参数校验方法及装置、存储介质、服务终端 - Google Patents
参数校验方法及装置、存储介质、服务终端 Download PDFInfo
- Publication number
- CN112650488A CN112650488A CN201910967122.0A CN201910967122A CN112650488A CN 112650488 A CN112650488 A CN 112650488A CN 201910967122 A CN201910967122 A CN 201910967122A CN 112650488 A CN112650488 A CN 112650488A
- Authority
- CN
- China
- Prior art keywords
- checking
- parameter
- logic
- verification
- data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000013524 data verification Methods 0.000 claims abstract description 37
- 238000012795 verification Methods 0.000 claims description 46
- 230000006870 function Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Library & Information Science (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种参数校验方法及装置、存储介质、服务终端,参数校验方法包括:获取被调用接口的参数;调用数据校验逻辑对所述参数进行数据校验,以得到校验结果;根据所述校验结果确定是否执行所述被调用接口的业务逻辑。本发明技术方案能够实现接口数据校验的便捷性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种参数校验方法及装置、存储介质、服务终端。
背景技术
Hibernate-validator提供了数据校验功能,各个接口在需要使用数据校验功能时,需要接口自身去调用Hibernate-validator的校验逻辑。也就是说,各个接口需要编写代码实现调用校验逻辑。
但是,接口自身去调用校验逻辑时,代码复杂,导致接口在进行数据校验时的实现也较为复杂。
发明内容
本发明解决的技术问题是如何实现接口数据校验的便捷性。
为解决上述技术问题,本发明实施例提供一种参数校验方法,参数校验方法包括:获取被调用接口的参数;调用数据校验逻辑对所述参数进行数据校验,以得到校验结果;根据所述校验结果确定是否执行所述被调用接口的业务逻辑。
可选的,所述获取被调用接口的参数之后包括:获取所述被调用接口的注解,所述注解表示所述参数的限制条件;所述调用数据校验逻辑对所述参数进行数据校验包括:调用数据校验逻辑利用所述限制条件对所述参数进行数据校验。
可选的,所述根据所述校验结果确定是否执行所述被调用接口的业务逻辑包括:如果所述校验结果表示校验通过,则执行所述被调用接口的业务逻辑;如果所述校验结果表示校验未通过,则返回校验错误信息。
可选的,所述调用数据校验逻辑对所述参数进行数据校验包括:生成代理类,所述代理类调用切面逻辑,所述切面逻辑能够调用数据校验逻辑对所述参数进行数据校验。
可选的,所述生成代理类包括:根据所述被调用接口中的代理类生成注解生成所述代理类。
可选的,所述代理类生成注解为spring框架中的@RestController。
可选的,所述调用数据校验逻辑对所述参数进行数据校验包括:调用Hibernate-validator的数据校验逻辑对所述参数进行数据校验。
为解决上述技术问题,本发明实施例还公开了一种参数校验装置,参数校验装置包括:参数获取模块,用以获取被调用接口的参数;校验模块,用以调用数据校验逻辑对所述参数进行数据校验,以得到校验结果;执行模块,用以根据所述校验结果确定是否执行所述被调用接口的业务逻辑。
本发明实施例还公开了一种存储介质,其上存储有计算机指令,所述计算机指令运行时执行任一项所述参数校验方法的步骤。
本发明实施例还公开了一种服务终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行所述参数校验方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
本发明技术方案中,获取被调用接口的参数;调用数据校验逻辑对所述参数进行数据校验,以得到校验结果;根据所述校验结果确定是否执行所述被调用接口的业务逻辑。本发明技术方案通过在被调用接口的业务逻辑执行之前先进行数据校验,根据数据校验的结果确定是否执行被调用接口的业务逻辑,避免了接口本身使用复杂的代码实现数据校验,实现了接口参数的校验的便捷性。此外,对于存在多个被调用接口的情况,通过本发明方案(例如通过复用一段代码)可以实现对多个被调用接口的参数校验,进一步保证了接口参数的校验的便捷性。
进一步地,所述调用数据校验逻辑对所述参数进行数据校验包括:生成代理类,所述代理类调用切面逻辑,所述切面逻辑能够调用数据校验逻辑对所述参数进行数据校验。本发明技术方案结合切面逻辑,例如Spring AOP,通过切面实现对所有接口统一调用校验,只需要在接口上添加对应的注解,简化了开发,提升开发效率。
附图说明
图1是本发明实施例一种参数校验方法的流程图;
图2是本发明实施例另一种参数校验方法的流程图;
图3是本发明实施例一种参数校验装置的结构示意图。
具体实施方式
如背景技术中所述,接口自身去调用校验逻辑时,代码复杂,导致接口在进行数据校验时的实现也较为复杂。
本发明技术方案通过在被调用接口的业务逻辑执行之前先进行数据校验,根据数据校验的结果确定是否执行被调用接口的业务逻辑,避免了接口本身使用复杂的代码实现数据校验,实现了接口参数的校验的便捷性。此外,对于存在多个被调用接口的情况,通过本发明方案(例如通过复用一段代码)可以实现对多个被调用接口的参数校验,进一步保证了接口参数的校验的便捷性。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
图1是本发明实施例一种参数校验方法的流程图。
本发明实施例的参数校验方法可以用于服务终端,其中,服务终端可以包括一个或多个提供服务的接口。也就是说,可以由服务终端执行图1所示方法的各个步骤。
图1所示的参数校验方法可以包括以下步骤:
步骤S101:获取被调用接口的参数;
步骤S102:调用数据校验逻辑对所述参数进行数据校验,以得到校验结果;
步骤S103:根据所述校验结果确定是否执行所述被调用接口的业务逻辑。
需要指出的是,本实施例中各个步骤的序号并不代表对各个步骤的执行顺序的限定。
本实施例中,需要服务的终端,例如客户端可以调用服务终端的接口,被客户端调用的接口可以称为被调用接口。被调用接口可以为调用该接口的客户端提供服务,具体如该接口通过输出参数为该客户端提供服务。
本实施例中,上述参数校验方法的各个步骤可以通过执行一段计算机代码来实现。
在步骤S101的具体实施中,可以获取被调用接口的参数。所述参数可以是该被调用接口所输出的参数,具体可以包括参数名称和参数值等。
在步骤S102的具体实施中,可以通过调用数据校验逻辑对所述参数进行数据校验。校验结果可以包括校验通过或校验未通过。具体而言,所述数据校验逻辑可以是预先设置好的。所述数据校验逻辑可以利用一段计算机代码来实现。
需要说明的是,关于数据校验逻辑实现数据校验的具体实现过程可以根据实际的业务需求来设置,本发明实施例对此不作限制。
在一个具体的实施例中,可以通过调用Hibernate-validator的数据校验逻辑对所述参数进行数据校验。
在步骤S102的具体实施中,可以根据所述校验结果确定是否执行所述被调用接口的业务逻辑。具体而言,在确定执行被调用接口的业务逻辑时,可以通过调用被调用接口的接口类来执行被调用接口的业务逻辑。
本发明实施例通过在被调用接口的业务逻辑执行之前先进行数据校验,根据数据校验的结果确定是否执行被调用接口的业务逻辑,避免了接口本身使用复杂的代码实现数据校验,实现了接口参数的校验的便捷性。此外,对于存在多个被调用接口的情况,通过本发明方案(例如通过复用一段代码)可以实现对多个被调用接口的参数校验,进一步保证了接口参数的校验的便捷性。
在本发明一个非限制性的实施例中,请参照图2,在步骤S101之后还可以包括以下步骤:
步骤S201:获取所述被调用接口的注解,所述注解表示所述参数的限制条件。
具体实施中,可以获取被调用接口的注解,以获得被调用接口的业务逻辑中参数的限制条件。由于接口自身在执行其业务逻辑时是能够获知被调用接口的注解的,但调用所述被调用接口的调用方无法调用被调用接口的注解,因此需要通过执行步骤S201来获取被调用接口的注解。
在一个具体应用场景中,对于下述代码:
其中,@NotNull和@Min(2)表示接口(也即被调用接口)的注解。注解@NotNull和@Min(2)分别表示限制条件1:限制参数manufacturer不能是空,以及限制条件2:参数seatCount的最小值是2。
需要说明的是,关于参数的注解及其表示的限制条件可以是任意可实施的形式,本发明实施例对此不作限制。
图1所示步骤S102可以包括以下步骤:
步骤S202:调用数据校验逻辑利用所述限制条件对所述参数进行数据校验。
具体实施中,限制条件将参与到对参数进行数据校验的过程。也就是说,数据校验逻辑在对参数进行校验时,可以判断参数是否满足限制条件。例如,参数的值是否为空,参数的值是否大于2等。
在一个具体应用场景中,数据校验逻辑可以是Hibernate-validator。
在一个非限制性的实施例中,图1所示步骤S103可以包括以下步骤:
如果所述校验结果表示校验通过,则执行所述被调用接口的业务逻辑;如果所述校验结果表示校验未通过,则返回校验错误信息。
本实施例中,如果校验结果表示校验通过,则表示待调用接口的参数通过了数据校验,那么可以继续执行被调用接口的业务逻辑。具体可以通过调用被调用接口的接口类来执行接口类里的逻辑。
反之,如果校验结果表示校验未通过,则表示待调用接口的参数未通过数据校验,那么可以将检验错误信息返回至调用方,例如可以将校验结果返回至调用方,以提示调用方被调用接口的参数在校验过程出现错误。在这种情况下,将不会执行所述被调用接口的业务逻辑,也即不会继续调用被调用接口的接口类。
在一个非限制性的实施例中,图1所示步骤S102可以包括以下步骤:生成代理类,所述代理类调用切面逻辑,所述切面逻辑能够调用数据校验逻辑对所述参数进行数据校验。
本实施例中,代理类能够调用切面逻辑,切面逻辑能够调用数据校验逻辑对所述参数进行数据校验。切面逻辑可以是在被调用接口的业务逻辑之前执行的。
进一步地,根据所述被调用接口中的代理类生成注解生成所述代理类。
本实施例中,可以在被调用接口中增加注解,也即代理类生成注解,该代理类生成注解可以触发生成代理类。
进一步地,所述代理类生成注解为spring框架中的@RestController。
也就是说,如果被调用接口中存在代理类生成注解@RestController,则spring根据该注解生成代理类。代理类可以在调用接口类的业务逻辑之前调用切面逻辑。
请参照图3,本发明实施例还公开了一种参数校验装置30,参数校验装置30可以包括参数获取模块301、校验模块302和执行模块303。
其中,参数获取模块301用以获取被调用接口的参数;校验模块302用以调用数据校验逻辑对所述参数进行数据校验,以得到校验结果;执行模块303用以根据所述校验结果确定是否执行所述被调用接口的业务逻辑。
本发明实施例通过在被调用接口的业务逻辑执行之前先进行数据校验,根据数据校验的结果确定是否执行被调用接口的业务逻辑,避免了接口本身使用复杂的代码实现数据校验,实现了接口参数的校验的便捷性。此外,对于存在多个被调用接口的情况,通过本发明方案(例如通过复用一段代码)可以实现对多个被调用接口的参数校验,进一步保证了接口参数的校验的便捷性。
在本发明一个非限制性的实施例中,图3所示参数校验装置30还可以包括注解获取模块(图未示),用以获取所述被调用接口的注解,所述注解表示所述参数的限制条件。
进一步地,图3所示校验模块302可以调用数据校验逻辑利用所述限制条件对所述参数进行数据校验。
在本发明一个非限制性的实施例中,图3所示执行模块303在所述校验结果表示校验通过时,执行所述被调用接口的业务逻辑;执行模块303在所述校验结果表示校验未通过时,返回校验错误信息。
在本发明一个非限制性的实施例中,图3所示校验模块302可以包括代理类生成单元(图未示),用以生成代理类,所述代理类调用切面逻辑,所述切面逻辑能够调用数据校验逻辑对所述参数进行数据校验。
进一步地,代理类生成单元根据所述被调用接口中的代理类生成注解生成所述代理类。
进一步地,所述代理类生成注解为spring框架中的@RestController。
进一步地,图3所示校验模块302可以调用Hibernate-validator的数据校验逻辑对所述参数进行数据校验。
关于所述参数校验装置30的工作原理、工作方式的更多内容,可以参照图1至图2中的相关描述,这里不再赘述。
本发明实施例还公开了一种存储介质,所述存储介质为计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时可以执行图1或图2中所示的参数校验方法的步骤。所述存储介质可以包括ROM、RAM、磁盘或光盘等。所述存储介质还可以包括非挥发性存储器(non-volatile)或者非瞬态(non-transitory)存储器等。
本发明实施例还公开了一种服务终端,所述服务终端可以包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令。所述处理器运行所述计算机指令时可以执行图1或图2中所示的参数校验方法的步骤。所述服务终端包括但不限于手机、计算机、平板电脑等终端设备。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (10)
1.一种参数校验方法,其特征在于,包括:
获取被调用接口的参数;
调用数据校验逻辑对所述参数进行数据校验,以得到校验结果;
根据所述校验结果确定是否执行所述被调用接口的业务逻辑。
2.根据权利要求1所述的参数校验方法,其特征在于,所述获取被调用接口的参数之后包括:
获取所述被调用接口的注解,所述注解表示所述参数的限制条件;
所述调用数据校验逻辑对所述参数进行数据校验包括:
调用数据校验逻辑利用所述限制条件对所述参数进行数据校验。
3.根据权利要求1所述的参数校验方法,其特征在于,所述根据所述校验结果确定是否执行所述被调用接口的业务逻辑包括:
如果所述校验结果表示校验通过,则执行所述被调用接口的业务逻辑;
如果所述校验结果表示校验未通过,则返回校验错误信息。
4.根据权利要求1所述的参数校验方法,其特征在于,所述调用数据校验逻辑对所述参数进行数据校验包括:
生成代理类,所述代理类调用切面逻辑,所述切面逻辑能够调用数据校验逻辑对所述参数进行数据校验。
5.根据权利要求4所述的参数校验方法,其特征在于,所述生成代理类包括:
根据所述被调用接口中的代理类生成注解生成所述代理类。
6.根据权利要求5所述的参数校验方法,其特征在于,所述代理类生成注解为spring框架中的@RestController。
7.根据权利要求1所述的参数校验方法,其特征在于,所述调用数据校验逻辑对所述参数进行数据校验包括:
调用Hibernate-validator的数据校验逻辑对所述参数进行数据校验。
8.一种参数校验装置,其特征在于,包括:
参数获取模块,用以获取被调用接口的参数;
校验模块,用以调用数据校验逻辑对所述参数进行数据校验,以得到校验结果;
执行模块,用以根据所述校验结果确定是否执行所述被调用接口的业务逻辑。
9.一种存储介质,其上存储有计算机指令,其特征在于,所述计算机指令运行时执行权利要求1至7中任一项所述参数校验方法的步骤。
10.一种服务终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,其特征在于,所述处理器运行所述计算机指令时执行权利要求1至7中任一项所述参数校验方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910967122.0A CN112650488A (zh) | 2019-10-12 | 2019-10-12 | 参数校验方法及装置、存储介质、服务终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910967122.0A CN112650488A (zh) | 2019-10-12 | 2019-10-12 | 参数校验方法及装置、存储介质、服务终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112650488A true CN112650488A (zh) | 2021-04-13 |
Family
ID=75342903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910967122.0A Pending CN112650488A (zh) | 2019-10-12 | 2019-10-12 | 参数校验方法及装置、存储介质、服务终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112650488A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115086436A (zh) * | 2022-06-16 | 2022-09-20 | 平安银行股份有限公司 | Api间参数校验方法、装置、计算机设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101276271A (zh) * | 2007-03-29 | 2008-10-01 | 北京邮电大学 | 一种面向切面编程的******及方法 |
CN105677326A (zh) * | 2015-12-28 | 2016-06-15 | 国云科技股份有限公司 | 一种软件接口参数验证方法 |
CN106529229A (zh) * | 2015-09-10 | 2017-03-22 | 北京国双科技有限公司 | 权限数据的处理方法和装置 |
CN106991023A (zh) * | 2017-03-22 | 2017-07-28 | 深圳市彬讯科技有限公司 | 一种接口参数校验方法及组件 |
CN107451460A (zh) * | 2017-06-28 | 2017-12-08 | 努比亚技术有限公司 | 接口处理方法、设备、服务器及计算机可读存储介质 |
CN108196916A (zh) * | 2017-12-18 | 2018-06-22 | 广州视源电子科技股份有限公司 | 一种对接口进行参数校验的方法及其装置、存储介质和电子设备 |
CN109344642A (zh) * | 2018-08-31 | 2019-02-15 | 平安科技(深圳)有限公司 | 接口规则校验方法、装置、计算机设备及存储介质 |
-
2019
- 2019-10-12 CN CN201910967122.0A patent/CN112650488A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101276271A (zh) * | 2007-03-29 | 2008-10-01 | 北京邮电大学 | 一种面向切面编程的******及方法 |
CN106529229A (zh) * | 2015-09-10 | 2017-03-22 | 北京国双科技有限公司 | 权限数据的处理方法和装置 |
CN105677326A (zh) * | 2015-12-28 | 2016-06-15 | 国云科技股份有限公司 | 一种软件接口参数验证方法 |
CN106991023A (zh) * | 2017-03-22 | 2017-07-28 | 深圳市彬讯科技有限公司 | 一种接口参数校验方法及组件 |
CN107451460A (zh) * | 2017-06-28 | 2017-12-08 | 努比亚技术有限公司 | 接口处理方法、设备、服务器及计算机可读存储介质 |
CN108196916A (zh) * | 2017-12-18 | 2018-06-22 | 广州视源电子科技股份有限公司 | 一种对接口进行参数校验的方法及其装置、存储介质和电子设备 |
CN109344642A (zh) * | 2018-08-31 | 2019-02-15 | 平安科技(深圳)有限公司 | 接口规则校验方法、装置、计算机设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115086436A (zh) * | 2022-06-16 | 2022-09-20 | 平安银行股份有限公司 | Api间参数校验方法、装置、计算机设备及存储介质 |
CN115086436B (zh) * | 2022-06-16 | 2023-05-26 | 平安银行股份有限公司 | Api间参数校验方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3848793A1 (en) | Api-based software development platform | |
CN109933404B (zh) | 一种基于区块链智能合约的编解码方法及*** | |
CN110704037A (zh) | 一种规则引擎实现方法及装置 | |
CN107016029B (zh) | 一种业务数据的处理方法、装置及*** | |
CN111506579B (zh) | 一种智能合约代码的生成方法、程序及设备 | |
US20210224055A1 (en) | Data interface processing method, device, server and medium | |
US11366704B2 (en) | Configurable analytics for microservices performance analysis | |
JP2019509567A (ja) | アプリケーション(app)のためのリソースロード方法、サービス機能実施方法及び装置 | |
CN111427578B (zh) | 一种数据转换方法、装置及设备 | |
CN111782207A (zh) | 任务流代码生成方法、装置、设备及存储介质 | |
CN111897738A (zh) | 基于原子服务的自动化测试方法及装置 | |
CN112925583B (zh) | 宿主应用能力扩展方法、装置、设备以及存储介质 | |
CN114610598A (zh) | 测试方法、装置、电子设备及计算机可读存储介质 | |
US20210232378A1 (en) | Program calling, electronic device, and storage medium | |
CN112650488A (zh) | 参数校验方法及装置、存储介质、服务终端 | |
CN111427630B (zh) | 冷启动优化方法和装置、电子设备和存储介质 | |
CN115904317A (zh) | 一种前后端接口统一调用方法、装置、设备及存储介质 | |
CN115934537A (zh) | 接口测试工具生成方法、装置、设备、介质及产品 | |
Inayatullah et al. | Model-based scaffolding code generation for cross-platform applications | |
CN111459933B (zh) | Gdb数据动态扩展方法、装置及存储介质 | |
CN110377367B (zh) | 组件配置方法、装置、电子终端及计算机可读存储介质 | |
CN114327673A (zh) | 一种任务启动方法、装置、电子设备及存储介质 | |
CN113032118A (zh) | 用于计算机应用程序的异步操作处理方法和相应的*** | |
CN106570143B (zh) | 一种发送响应对象的方法和装置 | |
WO2020192134A1 (zh) | 基于Spring MVC的异常处理方法、装置、计算机设备和存储介质 |
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 |