本文作者:kaifamei

一种生成API接口的微服务网关、生成方法及相关装置与流程

更新时间:2025-04-12 15:09:16 0条评论

一种生成API接口的微服务网关、生成方法及相关装置与流程


一种生成api接口的微服务网关、生成方法及相关装置
技术领域
1.本技术涉及网络安全领域,特别涉及一种生成api接口的微服务网关、api接口的生成方法、存储介质和电子设备。


背景技术:



2.随着业务架构的发展,业务越来越复杂,业务逐渐被拆成各个微服务,为了提供一致的api访问方式,需要提供api网关。而传统的api网关,更多地关注api自身的转发,功能单一。如果要添加api接口实现会比较复杂,并且容易给api接口引入安全问题。缺少文档功能,缺少自动化测试支持,api从编写到发布过程周期会很长,开发人员要发费大量的精力去做一些非api接口开发相关的工作。
3.因此,如何提高包含多种功能的api接口的开发效率是本领域技术人员亟需解决的技术问题。


技术实现要素:



4.本技术的目的是提供一种生成api接口的微服务网关、api接口的生成方法、存储介质和电子设备,能够实现api接口的功能引擎自动化配置,提高api接口的开发效率。
5.为解决上述技术问题,本技术提供一种生成api接口的微服务网关,包括:
6.引擎层,用于存储所述api接口的自定义框架,并提供接口引擎;所述接口引擎包含用于实现所述api接口的数据安全校验、api测试案例的测试过程和api文档生成中的至少一种;
7.路由层,用于配置api接口的路由信息,得到api接口。
8.可选的,所述路由层包含远程调用协议,还用于利用所述远程调用协议转发所述api接口至相应的api业务。
9.可选的,还包括:
10.转换层,用于对所述api接口进行版本转换,或者将外部api接口请求转换为内部api接口对应的函数调用。
11.可选的,所述转换层还用于封装所述api接口包含的api操作所对应的后端配置和/或后端服务。
12.本技术还提供一种api接口的生成方法,基于上文所述的微服务网关,所述生成方法包括:
13.接收api生成请求;
14.确认所述api生成请求中的引擎参数,并确定路由信息;
15.调用引擎层中的自定义框架,按照所述引擎参数调用所述引擎层中的接口引擎配置所述自定义框架对应的api引擎;
16.调用路由层配置所述api引擎的路由信息,得到api接口。
17.可选的,调用路由层配置所述api引擎的路由信息,得到api接口包括:
18.若所述api生成请求包含目标路由信息,采用所述目标路由信息配置api接口的路由信息;
19.若所述api生成请求不包含目标路由信息,采用所述路由层中的默认路由信息配置api接口的路由信息。
20.可选的,调用路由层配置所述api引擎的路由信息,得到api接口之后,还包括:
21.利用远程调用协议转发所述api接口至相应的api业务。
22.可选的,接收到接口升级请求时,还包括:
23.利用转换层对所述api接口进行版本转换,或者将外部api接口请求转换为内部api接口对应的函数调用。
24.本技术还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法的步骤。
25.本技术还提供一种电子设备,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上所述的方法的步骤。
26.本技术提供一种生成api接口的微服务网关,包括:引擎层,用于存储所述api接口的自定义框架,并提供接口引擎;所述接口引擎包含用于实现所述api接口的数据安全校验、api测试案例的测试过程和api文档生成中的至少一种;路由层,用于配置api接口的路由信息,得到api接口。
27.本技术提供的微服务网关,在引擎层中配置了自定义框架,以及用于配置api功能和业务实现的接口引擎,在需要实现api接口转发以外的功能时,可以直接利用接口引擎进行配置,无需开发人员针对api接口额外编写其他api接口功能的代码,可自动化生成包含多种api功能和业务实现api接口,提高api接口的开发效率,缩短api接口的开发周期,降低多种功能api接口的开发难度。
28.本技术还提供一种api接口的生成方法、存储介质和电子设备,具有上述有益效果,此处不再赘述。
附图说明
29.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
30.图1为本技术实施例所提供的一种生成api接口的微服务网关的结构示意图;
31.图2为本技术实施例所提供的另一种生成api接口的微服务网关的结构示意图;
32.图3为本技术实施例所提供的一种api接口的生成方法的流程图:
33.图4为本技术实施例所提供的一种电子设备的结构示意图。
具体实施方式
34.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员
在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
35.参见图1,图1为本技术实施例所提供的一种生成api接口的微服务网关的结构示意图,该微服务网关包括:
36.引擎层,用于存储所述api接口的自定义框架,并提供接口引擎;
37.路由层,用于配置api接口的路由信息,得到api接口。
38.微服务网关是为微服务提供api入口的中间装置,介于客户端和服务器之间,所有的外部请求先经过微服务网关,同时客户端只需要与微服务网关交互。对于客户端而言,只需要知晓网关地址即可,而无需记录各个微服务的网络地址。本技术实施例提供的微服务网关主要包含引擎城和路由层,用于生成api接口。在引擎层中,可以包括http服务器解析和restful schema解析,即将http请求解析成自定义api接口的格式,同理也可以提供rest服务器的访问api。引擎层可以采用idl框架,idl框架为一种实现代码自动定义的框架,可以声明一个接口,通过引擎将语言转化为文档等实现。当然,引擎层还可以采用其他框架,从而实现api接口的基础定义。此外,引擎层还负责存储api接口的自定义框架,该自定义框架可由本领域技术人员自动配置,用于实现api接口的框架结构均可,在此不作具体限定。而schema是一种描述xml文档的标准。换言之,引擎层可以接收http请求,或者解析xml文档,从而获取自定义api接口的格式或者api接口的所需要实现的功能指令等。
39.引擎层还包括接口引擎,用于实现api接口的相关功能和业务实现,包括但不限于api接口的数据安全校验、api测试案例的测试过程和api文档生成等过程,还可以包含用于介绍和描述api接口的api实现等。接口引擎实现配置完成,可根据api接口的生成需要选择调用接口引擎中的相应功能对api接口完成配置。需要注意的是,接口引擎的实现通常需要在自定义框架配置完成后,例如可以在schema定义完成后,由接口引擎自动完成上述功能和业务实现。api接口的数据安全校验指对api请求的校验,包括但不限于权限校验和参数校验等过程。api测试案例指对api接口的测试应用过程,用于指示当前api接口的应用实现过程的稳定性和安全性扥。api文档生成用于生成当前api接口的相关功能描述等信息,以便于客户端快速应用。
40.还需要注意的是,接口引擎还可以用于实现其他api功能和业务实现,只需要本领域人员事先基于自定义框架和语言编写相应的api功能和业务实现,并以接口引擎的方式存于引擎层,即可在api接口的生成过程中直接利用接口引擎加以配置。
41.在此对于如何实现接口引擎的定义不作限定,一种可行的实施方式,可以利用标准化的schema进行定义。例如,可以基于标准化的schema自动生成标准化的api接口和api接口实现,降低开发成本。以及可以自动完成api的数据安全校验,降低由于开发人员疏忽导致的安全问题数量。还可以自动生成api文档和api测试案例,便于进行api发布。
42.路由层主要用于配置api接口的路由信息,得到api接口。在路由信息的配置过程中,可以分为默认路由和自定义路由,即在接收到的http请求中未包含自定义路由时,api接口默认采用默认路由,否则采用http请求中的自定义路由。在配置路由信息完成后,路由可以将api接口路由至相应的插件处理,以实现相应的api业务。
43.在其他实施例中,路由层还可以用于实现过滤,即对于不存在相应权限的api请求,例如未登录的api请求,可以进行过滤,并生成相应的日志信息。该api请求指用于实现控制路由层将api接口路由至相应插件的请求。
44.本技术实施例提供的微服务网关,在引擎层中配置了自定义框架,以及用于配置api功能和业务实现的接口引擎,在需要实现api接口转发以外的功能时,可以直接利用接口引擎进行配置,无需开发人员针对api接口额外编写其他api接口功能的代码,可自动化生成包含多种api功能和业务实现api接口,提高api接口的开发效率,缩短api接口的开发周期,降低多种功能api接口的开发难度。
45.在上述实施例的基础上,路由层还可以包含远程调用协议,用于利用所述远程调用协议转发所述api接口至相应的api业务。在此对于采用何种远程调用协议不作限定,远程调用协议即采用远程过程调用(即rpc,remote procedure call),是一种基于tcp/ip协议访问其他服务器的访问方式。可以看出路由层用于实现api转发,将api接口转换至相应的业务或者微服务,在此对于业务不作具体限定,可以包含但不限于配置中心、状态中心、vpn服务等等。
46.在上述实施例的基础上,作为一种优选的执行方式,该微服务网关还可以包括转换层,用于对api接口进行版本转换,或者将外部api接口请求转换为内部api接口对应的函数调用。在进行api接口的版本升级时,可以直接利用转换层,对api接口进行逻辑更新,以实现旧版本至系版本的更新,或者实现低版本至高版本的更新。而在接收到外部api请求时,可通过转换层对外部api请求进行转换,从而转换为内部的函数调用,以便处理。
47.参见图2,图2为本技术实施例所提供的另一种生成api接口的微服务网关的结构示意图,作为一种优选的执行方式,还可以利用转换层封装api接口包含api操作所对应的后端配置,和/或后端服务,即在转换层对api逻辑进行封装,若是一个api操作多个后端配置或者后端服务,将后端多个api数据可以重新封装,并对外提供。所谓api逻辑,指api实现,包含配置修改、状态读取等业务逻辑实现,均可以通过转换层进行封装,并对外提供服务。同时,转换层还可以用于接收各业务返回的响应结果,并返回至引擎层。
48.由图2可以看出,该微服务网关依次包含引擎层、路由层和转换层,可完成api接口的生成和应用,实现更为完整的网关功能。相较于上一实施例,本实施例提供的转换层,能够直接令微服务网关适用于服务器与客户端之间的交互,实现api接口的高效应用。
49.在上述实施例的基础上,若是路由层需要转发的业务对象较为复杂,可以在转换层配置插件,通过插件的方式扩展,以便与业务对象更好的对接,确保api接口能顺利转发至相应的业务。
50.参见图3,图3为本技术实施例所提供的一种api接口的生成方法的流程图,本技术还提供一种api接口的生成方法,基于上文所述的微服务网关,下文所述的生成方法可与上文所述的微服务网关相互参考对照,所述生成方法包括:
51.s301:接收api生成请求;
52.本步骤旨在接收api生成请求,在此对于如何接收该api生成请求不作限定,以及该api生成请求的具体内容和形式也不作具体限定。一种可行的实施方式中,该api生成请求可以为http请求,即通过http服务器接收用于生成api接口的api生成请求。
53.此外,该api生成请求中可以包含所需要生成的api接口对应的业务功能。即在生成api接口前,对于api接口所包含的业务功能可以实现通过api生成请求以引擎参数加以设置。
54.s302:确认所述api生成请求中的引擎参数,并确定路由信息;
55.本步骤旨在确定引擎参数,并确定api接口的路由信息。引擎参数用于调用微服务网关中的接口引擎api接口的业务功能。在此对于引擎参数的具体内容不作限定,可以为接口引擎中各业务功能的代号或者编号等。
56.路由信息用于配置api接口的路由。在此对于如何确定路由信息不作限定。一种可行的方式,若api生成请求包含目标路由信息,采用目标路由信息配置api接口的路由信息,若api生成请求不包含目标路由信息,采用路由层中的默认路由信息配置api接口的路由信息。
57.s303:调用引擎层中的自定义框架,按照所述引擎参数调用所述引擎层中的接口引擎配置所述自定义框架对应的api引擎;
58.s304:调用路由层配置所述api引擎的路由信息,得到api接口。
59.在步骤s303和s304中,需要在自定义框架的基础上,将上文确定的引擎参数和路由信息应用至自定义框架中,先按照引擎参数配置api引擎,再配置api接口的路由信息,即可得到api接口。
60.在步骤s304之后,可以直接利用路由层中的远程调用协议转发所述api接口至相应的api业务,以实现api接口的应用。
61.此外,接收api生成请求后,可以对api生成请求进行权限校验,实现api生成请求的认证和鉴权。从而在路由层中过滤无权限的api请求。该权限可以包含对用户或者请求发起方对于该api接口是否具有访问控制权限的认证,当然也可以包含其他权限的验证,在此不一一举例限定。
62.本技术实施例提供的一种api接口的生成方法,在接收到的api生成请求后,通过确定其中的引擎参数,以及路由信息,基于自定义框架和引擎层中的接口引擎进行api配置,可以得到包含各种api实现的api接口,例如可实现api接口的数据安全校验,自动生成api文档和测试案例,无需开发人员实时编写程序,降低开发的人力成本和时间成本,同时便于api发布。
63.基于上述实施例,作为优选的实施例,在接收到接口升级请求时,利用转换层对api接口进行版本转换,或者将外部api接口请求转换为内部api接口对应的函数调用。该接口升级请求用于api接口的版本升级,或者进行api接口的功能升级。
64.本实施例在接收到接口升级请求时,可直接利用转换层进行版本转换,无需用户亲自对api接口进行代码重编,可以实现api接口的自动化升级,减轻开发人员对api接口的后续维护任务负担。
65.本技术还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的方法的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
66.本技术还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的方法的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。请参见图4,图4为本技术实施例所提供的一种电子设备的结构示意图,本实施例的电子设备可以包括:处理器2101和存储器2102。
67.可选的,该电子设备还可以包括通信接口2103、输入单元2104和显示器2105和通信总线2106。
68.处理器2101、存储器2102、通信接口2103、输入单元2104、显示器2105、均通过通信总线2106完成相互间的通信。
69.在本技术实施例中,该处理器2101,可以为中央处理器(central processing unit,cpu),特定应用集成电路,数字信号处理器、现成可编程门阵列或者其他可编程逻辑器件等。
70.该处理器可以调用存储器2102中存储的程序。具体的,处理器可以执行上文的实施例中电子设备所执行的操作。
71.存储器2102中用于存放一个或者一个以上程序,程序可以包括程序代码,所述程序代码包括计算机操作指令,在本技术实施例中,该存储器中至少存储有用于实现以下功能的程序:
72.接收api生成请求;
73.确认所述api生成请求中的引擎参数,并确定路由信息;
74.调用引擎层中的自定义框架,按照所述引擎参数调用所述引擎层中的接口引擎配置所述自定义框架对应的api引擎;
75.调用路由层配置所述api引擎的路由信息,得到api接口。
76.在一种可能的实现方式中,该存储器2102可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、以及至少一个功能所需的应用程序等;存储数据区可存储根据计算机的使用过程中所创建的数据。
77.此外,存储器2102可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
78.该通信接口2103可以为通信模块的接口,如gsm模块的接口。
79.本技术还可以包括显示器2105和输入单元2104等等。
80.图4所示的电子设备的结构并不构成对本技术实施例中电子设备的限定,在实际应用中电子设备可以包括比图4所示的更多或更少的部件,或者组合某些部件。
81.说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的系统而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
82.本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围内。
83.还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者
设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

技术特征:


1.一种生成api接口的微服务网关,其特征在于,包括:引擎层,用于存储所述api接口的自定义框架,并提供接口引擎;所述接口引擎包含用于实现所述api接口的数据安全校验、api测试案例的测试过程和api文档生成中的至少一种;路由层,用于配置api接口的路由信息,得到api接口。2.根据权利要求1所述的微服务网关,其特征在于,所述路由层包含远程调用协议,还用于利用所述远程调用协议转发所述api接口至相应的api业务。3.根据权利要求1所述的微服务网关,其特征在于,还包括:转换层,用于对所述api接口进行版本转换,或者将外部api接口请求转换为内部api接口对应的函数调用。4.根据权利要求3所述的微服务网关,其特征在于,所述转换层还用于封装所述api接口包含的api操作所对应的后端配置和/或后端服务。5.一种api接口的生成方法,其特征在于,基于权利要求1-4任一项所述的微服务网关,所述生成方法包括:接收api生成请求;确认所述api生成请求中的引擎参数,并确定路由信息;调用引擎层中的自定义框架,按照所述引擎参数调用所述引擎层中的接口引擎配置所述自定义框架对应的api引擎;调用路由层配置所述api引擎的路由信息,得到api接口。6.根据权利要求5所述的生成方法,其特征在于,调用路由层配置所述api引擎的路由信息,得到api接口包括:若所述api生成请求包含目标路由信息,采用所述目标路由信息配置api接口的路由信息;若所述api生成请求不包含目标路由信息,采用所述路由层中的默认路由信息配置api接口的路由信息。7.根据权利要求5所述的生成方法,其特征在于,调用路由层配置所述api引擎的路由信息,得到api接口之后,还包括:利用远程调用协议转发所述api接口至相应的api业务。8.根据权利要求5所述的微服务网关,其特征在于,接收到接口升级请求时,还包括:利用转换层对所述api接口进行版本转换,或者将外部api接口请求转换为内部api接口对应的函数调用。9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求5-8任一项所述的方法的步骤。10.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如权利要求5-8任一项所述的方法的步骤。

技术总结


本申请提供一种生成API接口的微服务网关,包括:引擎层,用于存储API接口的自定义框架,并提供接口引擎;接口引擎包含用于实现API接口的数据安全校验、API测试案例的测试过程和API文档生成中的至少一种;路由层,用于配置API接口的路由信息,得到API接口。本申请在需要实现API接口转发以外的功能时,可以直接利用接口引擎进行配置,无需开发人员针对API接口额外编写其他API接口功能的代码,可自动化生成包含多种API功能和业务实现API接口,提高开发效率,缩短开发周期,降低开发难度。本申请还提供一种API接口的生成方法、存储介质和电子设备,具有上述有益效果。具有上述有益效果。具有上述有益效果。


技术研发人员:

吴利斌

受保护的技术使用者:

深信服科技股份有限公司

技术研发日:

2022.10.13

技术公布日:

2023/1/19


文章投稿或转载声明

本文链接:http://www.wtabcd.cn/zhuanli/patent-1-87285-0.html

来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2023-01-29 15:19:08

发表评论

验证码:
用户名: 密码: 匿名发表
评论列表 (有 条评论
2人围观
参与讨论