一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种浏览器端接口文档自动化类型生成方法和系统与流程

2022-02-22 05:25:05 来源:中国专利 TAG:


1.本发明涉及一种浏览器端接口文档自动化类型生成方法、系统、介质和设备,属于计算机网关技术领域。


背景技术:

2.现有的网络中的资源业务系统大多采用分布式微服务来实现,具体由多个后端服务模块组成。这些后端服务模块都需要统一的网关来对外输出,以完成鉴权、流控、熔断等基础功能。在前后端协同开发中,开发人员逐渐使用数据的关联性和结构化强的浏览器客户端查询数据模式代替传统的基于超文本传输协议并遵循规范架构的数据接口。其中,后端开发人员手动编写客户端语言类型,实现业务代码的类型校验,手动录入效率低,使前后端的编写成本,且手动录入极易出现编写错误,导致接口文档的准确性较低。如在apollographql工具中虽然保证了运行时的前后端双向文档校验,但是没有自动对运行前的接口文档进行类型生成,仍然需要开发人员手动类型生成。


技术实现要素:

3.针对上述问题,本发明的目的是提供一种能够自动对客户端语言进行类型生成、效率高、准确率高的浏览器端接口文档自动化类型生成方法、系统、介质和设备。
4.为实现上述目的,本发明采取以下技术方案:一种浏览器端接口文档自动化类型生成方法,包括以下步骤:输入服务端语言接口类型文档,对不同服务端进行解析,并输出类型标量;判断输入的客户端语言是否为基本类型,若是则将其类型标量加入待输出的类型队列中,并将其类型名称和类型值加入待输出的类型队列中,若否则进入下一步;生成一个新类型,对所有的新类型进行统计,并添加向上连接类型的属性;合并待输出的类型队伍中所有类型,并加入输出类型队列,对类型及其对应字段添加非空属性标识,并输出最终转换后类型集合。
5.进一步,类型标量用于映射转换客户端与服务端的基本类型,基本类型内容包括:标量单位名称及其对应的客户端类型、客户端类型字段,客户端字段和服务端未表示的未知类型。
6.进一步,基本类型的字段包括:string、number、bigint、boolean和null。
7.进一步,新类型的键名称为字段名称,值为后端接口继承的原始基本类型。
8.本发明还公开了一种浏览器端接口文档自动化类型生成系统,包括:语言转换模块,用于输入服务端语言接口类型文档,对不同服务端进行解析,并输出类型标量;类型判断模块,用于判断输入的客户端语言是否为基本类型,若是则将其类型标量加入待输出的类型队列中,并将其类型名称和类型值加入待输出的类型队列中,若否则进入下一步;新类型生成模块,用于生成一个新类型,对所有的新类型进行统计,并添加向上连接类型的属性;统计合并模块,用于合并待输出的类型队伍中所有类型,并加入输出类型队列,对类型及其对应字段添加非空属性标识,并输出最终转换后类型集合。
9.进一步,类型标量用于映射转换客户端与服务端的基本类型,基本类型内容包括:标量单位名称及其对应的客户端类型、客户端类型字段,客户端字段和服务端未表示的未知类型
10.进一步,基本类型的字段包括:string、number、bigint、boolean和null。
11.进一步,新类型的键名称为字段名称,值为后端接口继承的原始基本类型。
12.本发明还公开了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,指令当由计算设备执行时,使得计算设备执行根据上述任一项的浏览器端接口文档自动化类型生成方法。
13.本发明还公开了一种计算设备,包括:一个或多个处理器、存储器以及一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行根据上述任一项的浏览器端接口文档自动化类型生成方法。
14.本发明由于采取以上技术方案,其具有以下优点:
15.1、本发明方案能够实现不同服务端语言类型生成,能够在现有类型之上构建输出相同的客户端结果类型的映射。
16.2、本发明方案能够自动生成客户端语言类型,生成结果更加准确、效率更高。
17.3、本发明支持类型签名,类型备注。
附图说明
18.图1是本发明一实施例中浏览器端接口文档自动化类型生成方法的流程图;
19.图2是本发明一实施例中输出的类型标量的示意图;
20.图3是本发明一实施例中自动化生成类型结果的示意图。
具体实施方式
21.为了使本领域技术人员更好的理解本发明的技术方案,通过具体实施例对本发明进行详细的描述。然而应当理解,具体实施方式的提供仅为了更好地理解本发明,它们不应该理解成对本发明的限制。在本发明的描述中,需要理解的是,所用到的术语仅仅是用于描述的目的,而不能理解为指示或暗示相对重要性。
22.实施例一
23.本实施例公开了一种浏览器端接口文档自动化类型生成方法,如图1、2、3所示,包括以下步骤:
24.s1输入服务端语言接口类型文档,对不同服务端进行解析,并输出类型标量,该类型标量用于映射转换客户端与服务端的基本类型,其中基本类型内容包括:标量单位名称及其对应的客户端类型、客户端类型字段,客户端字段和服务端未表示的未知类型,通过标量单位名称来标识映射类型与转换值。其中,未知类型的值用“any”标识。基本类型字段包括但不限于string(字符串)、number(数值)、bigint(大值)、boolean(布尔值)和null(空值)。
25.s2判断输入的客户端语言是否为基本类型,若是客户端基本类型,则将其标量类型,并将类型名称和类型值加入待输出的类型队列中,若否则进入下一步。
26.s3生成一个新类型,新类型的键名称为字段名称,值为服务端接口继承的原始基
本类型。对所有的新类型进行统计,添加向上连接类型的属性,“__typename”,用于标识服务端的类型名称;对合并待输出队伍中所有类型,并加入输出类型队列。其中对未知类型的值表示为“?”,表示可能是任何类型。对类型及其对应字段添加非空属性标识,并输出最终转换后类型集合。
27.实施例二
28.基于相同的发明构思,本实施例公开了一种浏览器端接口文档自动化类型生成系统,包括:
29.语言转换模块,用于输入服务端语言接口类型文档,对不同服务端进行解析,并输出类型标量;
30.类型判断模块,用于判断输入的客户端语言是否为基本类型,若是则将其类型标量加入待输出的类型队列中,并将其类型名称和类型值加入待输出的类型队列中,若否则进入下一步;
31.新类型生成模块,用于生成一个新类型,对所有的新类型进行统计,并添加向上连接类型的属性,新类型的键名称为字段名称,值为后端接口继承的原始基本类型;
32.统计合并模块,用于合并待输出的类型队伍中所有类型,并加入输出类型队列,对类型及其对应字段添加非空属性标识,并输出最终转换后类型集合。
33.类型标量用于映射转换客户端与服务端的基本类型,基本类型内容包括:标量单位名称及其对应的客户端类型、客户端类型字段,客户端字段和服务端未表示的未知类型。基本类型的字段包括:string、number、bigint、boolean和null。
34.实施例三
35.基于相同的发明构思,本实施例公开了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,指令当由计算设备执行时,使得计算设备执行根据上述任一项的浏览器端接口文档自动化类型生成方法。
36.实施例四
37.基于相同的发明构思,本实施例公开了一种计算设备,包括:一个或多个处理器、存储器以及一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行根据上述任一项的浏览器端接口文档自动化类型生成方法。
38.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
39.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
40.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
41.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
42.最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。上述内容仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献