CN113468491B - Api服务引擎方法、系统、电子设备及计算机可读存储介质 - Google Patents
Api服务引擎方法、系统、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113468491B CN113468491B CN202110631263.2A CN202110631263A CN113468491B CN 113468491 B CN113468491 B CN 113468491B CN 202110631263 A CN202110631263 A CN 202110631263A CN 113468491 B CN113468491 B CN 113468491B
- Authority
- CN
- China
- Prior art keywords
- api
- preset
- identity information
- verification
- check
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012795 verification Methods 0.000 claims abstract description 87
- 238000012545 processing Methods 0.000 claims description 54
- 238000013475 authorization Methods 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 29
- 230000006870 function Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2137—Time limited access, e.g. to a computer or data
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种API服务引擎方法、系统、电子设备及计算机可读存储介质,其中,API服务引擎方法包括:调用API接口以接收外部数据请求,根据所述外部数据请求获取所述外部数据请求对应的接口参数;将所述接口参数以预设校验规则进行校验以得到校验结果;若所述校验结果为校验通过则根据所述接口参数提取用户身份信息;若所述用户身份信息位于预设白名单中则将从所述接口参数提取的网络地址信息进行解析以得到API身份信息;根据所述API身份信息进入所述API身份信息对应的业务调度流程。本发明解决管理多元数据API接口的开发繁琐问题,使得API服务接口的开发自动化,节省人力,提升API接口开发的效率。
Description
技术领域
本发明涉及应用程序接口API技术领域,尤其涉及一种API服务引擎方法、系统、电子设备及计算机可读存储介质。
背景技术
应用程序接口API(Application Programming Interface)是软件系统不同组成部分衔接的约定。应用程序接口主要目的是提供应用程序与开发人员以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节,主要分为Windows API和Linux API。每个功能的实现以及此功能所对应数据需求指定,都将在系统的程序代码中定义一个对应的API接口。单个API接口的程序代码实现逻辑主要包括:接收所请求调用API接口的接口参数、对接口参数进行合法性校验、对接口参数进行相应业务逻辑处理,以此来满足功能实现的数据需求,进而最终实现功能。
传统数据开放平台对外提供API接口时,根据表结构目录生成相应接口对外开放。目前传统数据开放平台需要整合所有数据到唯一的数据源,才能对外开放相应数据,这样导致数据不实时、数据来源单一等问题。一般数据来源是多渠道,数据结构也是多元,因此传统数据对外开放平台整合所有数据源不仅周期长,且具有一定的局限性。
发明内容
本发明所要解决的技术问题在于,提供一种API服务引擎方法、系统、电子设备及计算机可读存储介质,能够进行API服务的引擎,以提高API接口的开发效率。
为了解决上述技术问题,本发明实施例提供一种API服务引擎方法,包括:
调用API接口以接收外部数据请求,根据所述外部数据请求获取所述外部数据请求对应的接口参数;
将所述接口参数以预设校验规则进行校验以得到校验结果;
若所述校验结果为校验通过则根据所述接口参数提取用户身份信息;
若所述用户身份信息位于预设白名单中则将从所述接口参数提取的网络地址信息进行解析以得到API身份信息;
根据所述API身份信息进入所述API身份信息对应的业务调度流程。
进一步地,所述接口参数包括:安全参数和业务参数;所述预设校验规则包括:预设第一校验规则和预设第二校验规则;所述校验结果包括:第一校验结果和第二校验结果;所述将所述接口参数以预设校验规则进行校验以得到校验结果,包括:
根据所述业务参数和所述预设第一校验规则进行校验以得到所述第一校验结果;
根据所述安全参数和所述预设第二校验规则进行校验以得到所述第二校验结果。
进一步地,所述预设第一校验规则包括:非空校验规则和大小校验规则;所述第一校验结果包括:非空校验结果和大小校验结果;所述根据所述业务参数和所述预设第一校验规则进行校验以得到第一校验结果,包括:
根据所述非空校验规则校验所述业务参数是否为空以得到所述非空校验结果;
根据所述大小校验规则确定预设数据大小范围,根据所述业务参数计算数据结构,根据所述数据结构和所述预设数据大小范围确定所述大小校验结果。
进一步地,所述根据所述安全参数和所述预设第二校验规则进行校验以得到第二校验结果,包括:
提取所述安全参数中的TOKEN信息,并对所述TOKEN信息进行解析以得到密码信息、API身份信息和授权时间;
根据所述密码信息和预设密码信息进行比对、根据所述授权时间和当前时间进行比对,根据所述API身份信息和预设签名密钥信息进行比对以得到所述第二校验结果。
进一步地,所述API服务引擎方法还包括:
若所述用户身份信息位于预设黑名单中,则输出认证失败信息。
进一步地,所述根据所述API身份信息进入所述API身份信息对应的业务调度流程,包括:
根据所述API身份信息和预设缓存数据库获取对应的业务处理流程和业务逻辑处理对象,所述预设缓存数据库存储所述API身份信息对应的所述业务逻辑处理对象、所述业务处理流程;
根据所述业务处理流程进行所述业务逻辑处理对象对应的操作。
进一步地,所述API服务引擎方法还包括:
若预设缓存数据库不存在与所述API身份信息对应的所述业务处理流程和所述业务逻辑处理对象,根据API身份信息从预设数据库加载API信息;
将所述API信息注册于所述预设缓存数据库中。
本发明还提供一种API服务引擎系统,包括:
调用模块,用于调用API接口以接收外部数据请求;
获取模块,用于根据所述外部数据请求获取所述外部数据请求对应的接口参数;
校验模块,用于将所述接口参数以预设校验规则进行校验以得到校验结果;
提取模块,用于若所述校验结果为校验通过则根据所述接口参数提取用户身份信息;
解析模块,用于若所述用户身份信息位于预设白名单中则根据所述接口参数提取的网络地址信息进行解析以得到API身份信息;
处理模块,用于根据所述API身份信息进入所述API身份信息对应的业务调度流程。
本发明还提供一种电子设备,包括:
至少一个处理器,以及,
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行所述的API服务引擎方法。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行所述的API服务引擎方法。
本发明实施例的有益效果在于:通过根据校验结果进行用户身份信息的权限判断,权限通过后进行对应的业务调度流程以完成数据服务接口的开发方法,解决管理多元数据API接口的开发繁琐问题,使得API服务接口的开发自动化,节省人力,提升API接口开发的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一一种API服务引擎方法的流程示意图。
图2是本发明实施例一中步骤S200的具体流程示意图。
图3是本发明实施例一中步骤S210的具体流程示意图。
图4是本发明实施例一中步骤S220的具体流程示意图。
图5是本发明实施例一一种API服务引擎方法的另一流程示意图。
图6是本发明实施例一中步骤S500的具体流程示意图。
图7是本发明实施例一一种API服务引擎方法的又一流程示意图。
图8是本发明实施例一一种API服务引擎方法的又一流程示意图。
图9是本发明实施例二一种API服务引擎系统的模块框图。
具体实施方式
以下各实施例的说明是参考附图,用以示例本发明可以用以实施的特定实施例。
请参照图1所示,本发明实施例一提供一种API服务引擎方法,包括:
步骤S100,调用API接口以接收外部数据请求,根据所述外部数据请求获取所述外部数据请求对应的接口参数;
步骤S200,将所述接口参数以预设校验规则进行校验以得到校验结果;
步骤S300,若所述校验结果为校验通过则根据接口参数提取用户身份信息;
步骤S400,若所述用户身份信息位于预设白名单中,则将从所述接口参数提取的网络地址信息进行解析以得到API身份信息;
步骤S500,根据所述API身份信息进入所述API身份信息对应的业务调度流程。
通过调用API接口以接收外部数据请求,然后根据外部数据请求获取对应的接口参数,将接口参数和预设校验规则进行校验以得到校验结果,且校验结果包括:校验通过和校验未通过。若校验结果为校验通过则根据接口参数提取用户身份信息,并根据用户身份信息和预设白名单中的预设用户身份信息进行比对,若预设白名单中存在与用户身份信息匹配的预设用户身份信息,则表示该用户具有API接口调用的权限,所以将已提取的网络地址信息进行解析以得到API身份信息,然后根据API身份信息进行业务调度流程,以完成数据服务接口的开发。因此通过根据校验结果进行用户身份信息的权限判断,根据权限通过后进行对应的业务调度流程以完成数据服务接口的开发方法,解决管理多元数据API接口的开发繁琐问题,使得API服务接口的开发自动化,节省人力,提升API接口开发的效率。
其中,通过网关调用API接口,然后RESTful路由接收外部数据请求和接口参数。其中RESTful路由是一种提供HTTP动词(获取,发布,放置,删除,修补)到控制器CRUD操作(创建,读取,更新,删除)之间映射的路由。接口参数包括:参数名称、数据类型、取值规则、参数依赖、外部验证对象等信息。数据类型定义信息定义了具体的接口参数可以被指定为哪些数据类型,例如,所指定的数据类型可以是整数、字符串、日期/时间、枚举等基本类型;也可以是身份证、邮件地址、URL、邮政编码等对象类型;或者还可以是json结构、文件等复合类型。因此对接口参数进行校验主要进行接口参数的特定校验和合法性校验,以保证所接收的接口参数没有问题。若校验结果为校验通过再进一步判断用户身份信息是否位于在预设白名单中存在一样的预设用户身份信息,则表示调用该API接口的用户具有调用权限,所以自动根据API身份信息进行业务调度流程。因此整个API接口的调度操作自动化实现,无需人工逐个验证后再手动操作业务调度流程,节省人力且提高API接口的开发效率。
在一些实施例中,由于接口参数包括:参数名称、数据类型、取值规则、参数依赖、外部验证对象等信息,因此可以根据接口参数的用途划分为安全参数和业务参数,其中安全参数用于进行合法性校验,而业务参数进行特定校验,所以预设校验规则包括:预设第一校验规则和预设第二校验规则。预设第一校验规则相当于特定校验规则,预设第二校验规则相当于合法性校验规则。具体地,如图2所示,步骤S200具体包括:
步骤S210,根据业务参数和预设第一校验规则进行校验以得到第一校验结果;
步骤S220,根据安全参数和预设第二校验规则进行校验以得到第二校验结果。
对业务参数以预设第一校验规则进行校验主要是进行特定校验,而特定校验根据业务参数的具体信息所确定以得到第一校验结果,第一校验结果也相当于特定校验结果。安全参数以预设第二校验规则进行校验以得到第二校验结果,主要对安全参数进行合法性校验以得到合法性校验结果。若第一校验结果为校验通过则进行安全参数的校验,若第一校验结果为校验未通过,则不会再进行安全参数的校验以输出校验结果为校验未通过。若第一校验结果为通过,进行安全参数校验得到的第二校验结果,若第二校验结果为校验未通过,则整个校验结果为校验未通过,因此无需判断预设白名单中是否存在与用户身份信息对应的预设用户身份信息,直接输出校验未通过的校验结果。
在一些实施例中,预设第一校验规则包括:非空校验规则和大小校验规则;第一校验结果包括:非空校验结果和大小校验结果。参照图3,步骤S210具体包括:
步骤S211,根据非空校验规则校验业务参数是否为空以得到非空校验结果;
步骤S212,根据大小校验规则确定预设数据大小范围,根据业务参数计算数据结构,根据数据结构和预设数据大小范围确定大小校验结果。
对业务参数进行校验主要进行判断业务参数是否为空,若非空校验规则要求业务参数不为空,但是接入的业务参数为空,则返回非空校验结果为业务参数错误,因此无法进行下一步操作。根据大小校验规则确定预设数据大小范围,然后计算业务参数的数据结构,若业务参数的数据结构在预设数据大小范围内,则表示该业务参数的数据结构符合预设数据大小范围,输出业务参数正常的大小校验结果,若业务参数的数据结构不位于预设数据大小范围内,则表示该业务参数的数据结构不符合要求,所以输出业务参数错误的大小校验结果。在完成业务参数的校验后,根据业务参数提取网络地址信息,并根据网络地址信息解析得到API身份信息。
参照图4,在一些实施例中,步骤S220具体包括:
步骤S221,提取安全参数中的Token信息,并对Token信息进行解析以得到密码信息、API身份信息和授权时间;
步骤S222,根据密码信息和预设密码信息进行比对、根据授权时间和当前时间进行比对,根据API身份信息和预设签名密钥信息进行比对以得到第二校验结果。
通过在安全参数中提取Token信息,其中,Token信息为计算机身份认证中的令牌,也相当于认证信息。通过对Token信息进行解析以得到密码信息、API身份信息和授权时间,且根据Token信息进行解析以得到用户身份信息,用户身份信息在得到第一校验结果和第二校验结果为校验通过则判断预设白名单中存在与用户身份信息匹配的预设用户身份信息。因此对Token信息进行解析后,根据密码信息和预设密码信息进行比对、且将授权时间和当前时间比对、将API身份信息和预设签名密钥信息进行比对以得到第二校验结果。若密钥信息和预设密码信息不匹配、或授权时间和当前时间不匹配、或API身份信息和预设签名密钥信息不匹配,则输出校验未通过的第二校验结果。若密钥信息和预设密码信息匹配、且授权时间和当前时间匹配、API身份信息和预设签名密钥信息匹配,输出校验通过的第二校验结果。其中,授权时间主要包括签发时间和截至时间,然后根据签发时间、截至时间与当前时间比较以判断授权时间是否过期。因此,通过根据密码信息和预设密码信息进行比对、且将授权时间和当前时间比对、将API身份信息和预设签名密钥信息进行比对以得到第二校验结果,以判断安全参数是否满足合法性,若满足则进行下一步的用户身份信息认证,若第一校验结果或第二校验结果为校验未通过,则输出校验未通过的校验信息,以便于用户清楚无法进行API接口的开发或调用。
请再参照图5所示,本实施例的API服务引擎方法还包括:
步骤S600,若用户身份信息位于预设黑名单中,则输出认证失败信息。
根据用户设置预设用户身份信息以确定预设黑名单和预设白名单,以通过预设黑名单和预设白名单来判断用户具有API接口的开发权限,若用户身份信息位于预设黑名单中,则表示该用户不可以进行下一步业务调度流程,直接输出认证失败信息。若预设黑名单和预设白名单中都不存在与用户身份信息匹配的预设用户身份信息,则输出认证失败信息。因此用户可以通过认证失败信息清楚自己是否具有进行该API接口的权限。
进一步地,如图6所示,在一些实施例中,步骤S500具体包括:
步骤S510,根据API身份信息和预设缓存数据库获取对应的业务处理流程和业务逻辑处理对象,预设缓存数据库存储API身份信息对应的业务逻辑处理对象、业务处理流程;
步骤S520,根据业务处理流程进行业务逻辑处理对象对应的操作。
当预设白名单中存在与用户身份信息匹配的预设用户身份信息,则根据API身份信息获取预设缓存数据库中与API身份信息匹配的业务逻辑处理对象、业务处理流程。若预设缓存数据库中存在与API身份信息匹配的业务处理流程和业务逻辑处理对象,则根据业务处理流程执行业务逻辑处理对象对应的操作,从而实现API接口的开发流程自动化,解决了管理多元数据API接口开发的繁琐,减少人工开发API接口的时间,且提升API接口开发的效率。
请再参照图7所示,本实施例的API服务引擎方法还包括:
步骤S700,若预设缓存数据库不存在与API身份信息对应的业务处理流程和业务逻辑处理对象,根据API身份信息从预设数据库加载API信息;
步骤S800,将API信息注册于预设缓存数据库中。
若预设缓存数据库中不存在与API身份信息对应的业务处理流程、业务逻辑处理对象,则根据API身份信息从预设数据库中加载API信息,然后将API信息注册于预设缓冲数据库中,以得到业务处理流程和业务逻辑处理对象,然后根据业务处理流程执行业务处理对象的操作。对于预设缓存数据库中不在于与API身份信息匹配的业务处理流程、业务逻辑处理对象,则从预设数据库中加载API信息以自动注册,实现业务调度流程的自动化操作,提高业务调度流流程执行高效。
再如图8所示,在一些实施例中,API服务引擎方法还包括:
步骤S910,获取业务调度流程的处理结果,并反馈处理结果;
步骤S920,获取API接口相关的用户策略信息;
步骤S930,根据用户策略信息生成安全策略,并根据安全策略执行业务逻辑流程中的加密操作,获取操作结果记录于操作日志上,并将操作日志输出。
由于根据业务处理流程执行业务逻辑处理对象的操作时,业务处理流程中并不可以直接执行加密操作,因此根据API接口相关的用户策略信息,然后根据用户策略信息生成安全策略,以根据安全策略执行业务逻辑流程中的加密操作,提供统一标准化的接口和安全的调用方式满足内、外部的数据需求,提高API接口调用的安全性。
下面参考图1至图8以一个具体的实施例详细描述根据本发明实施例的API服务引擎方法。可以理解的是,下述描述仅是示例性说明,而不是对发明的具体限制。
通过网关调用API接口,然后RESTful路由接收外部数据请求和接口参数。根据接口参数的用途划分为安全参数和业务参数。对业务参数进行校验主要进行判断业务参数是否为空,若非空校验规则要求业务参数不为空,但是接入的业务参数为空,则返回非空校验结果为业务参数错误,因此无法进行下一步操作。根据大小校验规则确定预设数据大小范围,然后计算业务参数的数据结构,若业务参数的数据结构在预设数据大小范围内,则表示该业务参数的数据结构符合预设数据大小范围,输出业务参数正常的大小校验结果。通过在安全参数中提取Token信息,对Token信息进行解析以得到密码信息、API身份信息和授权时间,根据密码信息和预设密码信息进行比对、且将授权时间和当前时间比对、将API身份信息和预设签名密钥信息进行比对以得到第二校验结果。
若密钥信息和预设密码信息匹配、且授权时间和当前时间匹配、API身份信息和预设签名密钥信息匹配,输出校验通过的第二校验结果。通过得到第一校验结果、第二校验结果为校验通过,若预设白名单中存在与用户身份信息匹配的预设用户身份信息,则根据API身份信息获取预设缓存数据库中与API身份信息匹配的业务逻辑处理对象、业务处理流程,根据业务处理流程执行业务逻辑处理对象对应的操作,从而实现API接口的开发流程自动化,解决了管理多元数据API接口开发的繁琐,减少人工开发API接口的时间,且提升API接口开发的效率。根据API接口相关的用户策略信息,然后根据用户策略信息生成安全策略,以根据安全策略执行业务逻辑流程中的加密操作,以提供统一标准化的接口和安全的调用方式满足内、外部的数据需求。
第二方面,本发明实施例二还公开了一种API服务引擎系统,如图9所示,包括:调用模块100、获取模块200、校验模块300、提取模块400、解析模块500和处理模块600;调用模块100用于调用API接口以接收外部数据请求;获取模块200用于根据外部数据请求获取外部数据请求对应的接口参数;校验模块300用于将接口参数以预设校验规则进行校验以得到校验结果;提取模块400用于若校验结果为校验通过则根据所述接口参数提取用户身份信息;解析模块500用于若用户身份信息位于预设白名单中则根据接口参数提取的网络地址信息进行解析以得到API身份信息;处理模块600用于根据API身份信息进入API身份信息对应的业务调度流程。
通过校验模块300对接口参数以预设校验规则进行校验以得到校验结果,然后提取模块400根据校验结果未校验通过根据接口参数提取用户身份信息,然后根据用户身份信息和预设白名单中预设用户身份信息匹配,若预设白名单中存在与用户身份信息匹配的预设用户身份,则处理模块600根据API身份信息执行API身份信息对应的业务调度流程。
因此,自动化完成API接口的开发,解决了人工管理多元数据API开发的繁琐,减少人工开发时间且提高管理多数据源开发API的效率。
其中,API服务引擎系统的具体操作过程参照本发明实施例一一种API服务引擎方法,此处不再赘述。
第三方面,本发明实施例三还公开了一种电子设备,包括:至少一个处理器,以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如本发明实施例一所述的API服务引擎方法。
第四方面,本发明实施例四还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如本发明实施例一所述的API服务引擎方法。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
综上所述,相比于现有技术,本发明实施例带来的有益效果在于:通过根据校验结果进行用户身份信息的权限判断,权限通过后进行对应的业务调度流程以完成数据服务接口的开发方法,解决管理多元数据API接口的开发繁琐问题,使得API服务接口的开发自动化,节省人力,提升API接口开发的效率。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (8)
1.一种API服务引擎方法,其特征在于,包括:
调用API接口以接收外部数据请求,根据所述外部数据请求获取所述外部数据请求对应的接口参数;
将所述接口参数以预设校验规则进行校验以得到校验结果;
若所述校验结果为校验通过则根据所述接口参数提取用户身份信息;
若所述用户身份信息位于预设白名单中则将从所述接口参数提取的网络地址信息进行解析以得到API身份信息;
根据所述API身份信息进入所述API身份信息对应的业务调度流程;
所述接口参数包括:安全参数和业务参数;所述预设校验规则包括:预设第一校验规则和预设第二校验规则;所述校验结果包括:第一校验结果和第二校验结果;所述将所述接口参数以预设校验规则进行校验以得到校验结果,包括:
根据所述业务参数和所述预设第一校验规则进行校验以得到所述第一校验结果;
根据所述安全参数和所述预设第二校验规则进行校验以得到所述第二校验结果;
所述预设第一校验规则包括:非空校验规则和大小校验规则;所述第一校验结果包括:非空校验结果和大小校验结果;所述根据所述业务参数和所述预设第一校验规则进行校验以得到第一校验结果,包括:
根据所述非空校验规则校验所述业务参数是否为空以得到所述非空校验结果;
根据所述大小校验规则确定预设数据大小范围,根据所述业务参数计算数据结构,根据所述数据结构和所述预设数据大小范围确定所述大小校验结果。
2.根据权利要求1所述的API服务引擎方法,其特征在于,所述根据所述安全参数和所述预设第二校验规则进行校验以得到第二校验结果,包括:
提取所述安全参数中的Token信息,并对所述Token信息进行解析以得到密码信息、API身份信息和授权时间;
根据所述密码信息和预设密码信息进行比对、根据所述授权时间和当前时间进行比对,根据所述API身份信息和预设签名密钥信息进行比对以得到所述第二校验结果。
3.根据权利要求1至2任一项所述的API服务引擎方法,其特征在于,还包括:
若所述用户身份信息位于预设黑名单中,则输出认证失败信息。
4.根据权利要求1至2任一项所述的API服务引擎方法,其特征在于,所述根据所述API身份信息进入所述API身份信息对应的业务调度流程,包括:
根据所述API身份信息和预设缓存数据库获取对应的业务处理流程和业务逻辑处理对象,所述预设缓存数据库存储所述API身份信息对应的所述业务逻辑处理对象、所述业务处理流程;
根据所述业务处理流程进行所述业务逻辑处理对象对应的操作。
5.根据权利要求4所述的API服务引擎方法,其特征在于,还包括:
若预设缓存数据库不存在与所述API身份信息对应的所述业务处理流程和所述业务逻辑处理对象,根据API身份信息从预设数据库加载API信息;
将所述API信息注册于所述预设缓存数据库中。
6.一种API服务引擎系统,其特征在于,包括:
调用模块,用于调用API接口以接收外部数据请求;
获取模块,用于根据所述外部数据请求获取所述外部数据请求对应的接口参数;
校验模块,用于将所述接口参数以预设校验规则进行校验以得到校验结果;
提取模块,用于若所述校验结果为校验通过则根据所述接口参数提取用户身份信息;
解析模块,用于若所述用户身份信息位于预设白名单中则根据所述接口参数提取的网络地址信息进行解析以得到API身份信息;
处理模块,用于根据所述API身份信息进入所述API身份信息对应的业务调度流程;
所述接口参数包括:安全参数和业务参数;所述预设校验规则包括:预设第一校验规则和预设第二校验规则;所述校验结果包括:第一校验结果和第二校验结果;所述校验模块将所述接口参数以预设校验规则进行校验以得到校验结果,包括:
根据所述业务参数和所述预设第一校验规则进行校验以得到所述第一校验结果;
根据所述安全参数和所述预设第二校验规则进行校验以得到所述第二校验结果;
所述预设第一校验规则包括:非空校验规则和大小校验规则;所述第一校验结果包括:非空校验结果和大小校验结果;所述根据所述业务参数和所述预设第一校验规则进行校验以得到第一校验结果,包括:
根据所述非空校验规则校验所述业务参数是否为空以得到所述非空校验结果;
根据所述大小校验规则确定预设数据大小范围,根据所述业务参数计算数据结构,根据所述数据结构和所述预设数据大小范围确定所述大小校验结果。
7.一种电子设备,其特征在于,包括:
至少一个处理器,以及,
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至5任一项所述的API服务引擎方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至5任一项所述的API服务引擎方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110631263.2A CN113468491B (zh) | 2021-06-07 | 2021-06-07 | Api服务引擎方法、系统、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110631263.2A CN113468491B (zh) | 2021-06-07 | 2021-06-07 | Api服务引擎方法、系统、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113468491A CN113468491A (zh) | 2021-10-01 |
CN113468491B true CN113468491B (zh) | 2024-02-23 |
Family
ID=77868587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110631263.2A Active CN113468491B (zh) | 2021-06-07 | 2021-06-07 | Api服务引擎方法、系统、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113468491B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114006754A (zh) * | 2021-10-29 | 2022-02-01 | 重庆长安汽车股份有限公司 | 一种防护api接口配置安全策略数据的方法及基于网关调用开放平台服务的方法及系统 |
CN114338580B (zh) * | 2021-12-30 | 2023-08-01 | 苏州金羲智慧科技有限公司 | 一种公众号项目开发方法、装置及存储介质 |
CN116405573B (zh) * | 2023-06-07 | 2023-08-15 | 北京集度科技有限公司 | 基于面向服务架构的系统、通信方法、计算机程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105897782A (zh) * | 2016-06-30 | 2016-08-24 | 北京奇艺世纪科技有限公司 | 一种针对接口的调用请求的处理方法及装置 |
CN107222457A (zh) * | 2017-04-14 | 2017-09-29 | 弘成科技发展有限公司 | 一种用于系统间交互的接口接入系统及方法 |
CN109150805A (zh) * | 2017-06-19 | 2019-01-04 | 亿阳安全技术有限公司 | 应用程序编程接口的安全管理方法和系统 |
CN109309666A (zh) * | 2018-08-22 | 2019-02-05 | 中国平安财产保险股份有限公司 | 一种网络安全中的接口安全控制方法及终端设备 |
CN111131221A (zh) * | 2019-12-19 | 2020-05-08 | 中国平安财产保险股份有限公司 | 接口校验的装置、方法及存储介质 |
-
2021
- 2021-06-07 CN CN202110631263.2A patent/CN113468491B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105897782A (zh) * | 2016-06-30 | 2016-08-24 | 北京奇艺世纪科技有限公司 | 一种针对接口的调用请求的处理方法及装置 |
CN107222457A (zh) * | 2017-04-14 | 2017-09-29 | 弘成科技发展有限公司 | 一种用于系统间交互的接口接入系统及方法 |
CN109150805A (zh) * | 2017-06-19 | 2019-01-04 | 亿阳安全技术有限公司 | 应用程序编程接口的安全管理方法和系统 |
CN109309666A (zh) * | 2018-08-22 | 2019-02-05 | 中国平安财产保险股份有限公司 | 一种网络安全中的接口安全控制方法及终端设备 |
CN111131221A (zh) * | 2019-12-19 | 2020-05-08 | 中国平安财产保险股份有限公司 | 接口校验的装置、方法及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113468491A (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113468491B (zh) | Api服务引擎方法、系统、电子设备及计算机可读存储介质 | |
CN113424182A (zh) | 身份信息的认证方法、装置及服务器 | |
CN109783249B (zh) | 平台接入方法及装置、终端和计算机可读存储介质 | |
CN111240994A (zh) | 漏洞处理方法、装置、电子设备及可读存储介质 | |
CN111290742A (zh) | 参数验证方法、装置、电子设备及可读存储介质 | |
CN110798446B (zh) | 邮件批量授权方法、装置、计算机设备及存储介质 | |
CN112532392B (zh) | 密钥处理方法、装置、设备及存储介质 | |
CN107154919B (zh) | 一种安全登录方法及装置 | |
CN113448862B (zh) | 软件版本测试方法、装置及计算机设备 | |
US8484724B2 (en) | User permissions in computing systems | |
CN112433936A (zh) | 测试方法、装置及存储介质 | |
CN112579461A (zh) | 断言处理方法、系统和存储介质 | |
US20150140957A1 (en) | Prepaid phone card charging | |
CN112685077A (zh) | 数据修改方法、系统、计算机设备及计算机可读存储介质 | |
CN111797005A (zh) | 网关接口解析方法、装置、计算机设备和存储介质 | |
CN111901299A (zh) | 申请认证方法、装置、电子设备和存储介质 | |
CN111045725A (zh) | 代码管理系统的控制方法、装置及存储介质 | |
CN112488562B (zh) | 一种业务实现方法及装置 | |
CN114765552B (zh) | 数据处理方法、中台系统、存储介质和电子设备 | |
CN117768150B (zh) | 基于身份认证的业务系统接入方法及业务系统接入平台 | |
CN116384352B (zh) | 一种数据集的生成方法、装置、设备和介质 | |
CN113823002A (zh) | 检票方法及装置 | |
CN113239408B (zh) | 电子签章系统、方法、装置、设备及存储介质 | |
KR101088054B1 (ko) | 전문 기반 통신 시스템을 테스트하는 시스템 및 방법 | |
CN114138763A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |