CN116028028B - 请求函数生成方法、装置、设备及存储介质 - Google Patents

请求函数生成方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116028028B
CN116028028B CN202211407033.9A CN202211407033A CN116028028B CN 116028028 B CN116028028 B CN 116028028B CN 202211407033 A CN202211407033 A CN 202211407033A CN 116028028 B CN116028028 B CN 116028028B
Authority
CN
China
Prior art keywords
interface
file
target
request function
generating
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
Application number
CN202211407033.9A
Other languages
English (en)
Other versions
CN116028028A (zh
Inventor
李雅男
杨沛
卢俊豪
张皓栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202211407033.9A priority Critical patent/CN116028028B/zh
Publication of CN116028028A publication Critical patent/CN116028028A/zh
Application granted granted Critical
Publication of CN116028028B publication Critical patent/CN116028028B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供了一种请求函数生成方法、装置、设备及存储介质,涉及数据处理技术领域,尤其涉及软件技术领域。具体实现方案为:获取用于描述接口的接口描述文件;根据接口描述文件中记录的接口的接口定义信息和预设的类型模板文件,生成接口的类型声明文件;根据接口描述文件中记录的目标接口的信息存储路径和预设的接口配置模板,生成目标接口的接口配置文件;基于目标接口的接口配置文件中包含的请求数据字段与响应信息字段,从目标接口的类型声明文件中确定待引用的目标类型声明;根据目标接口的接口配置文件和预设的请求函数模板,生成目标接口的请求函数。应用本公开实施例提供的方案能够生成接口的请求函数。

Description

请求函数生成方法、装置、设备及存储介质
技术领域
本公开涉及数据处理技术领域,尤其涉及软件技术领域,进一步涉及请求函数生成方法、装置、设备及存储介质。
背景技术
在当前的软件开发过程中,往往采用前后端分离的开发方式,即后端开发人员编写后端程序,前端开发人员编写前端程序,前端程序中包含用于调用后端程序的请求函数。
发明内容
本公开提供了一种请求函数生成方法、装置、设备及存储介质。
根据本公开的一方面,提供了一种请求函数生成方法,包括:
获取用于描述接口的接口描述文件;
根据所述接口描述文件中记录的接口的接口定义信息和预设的类型模板文件,生成接口的类型声明文件;
根据所述接口描述文件中记录的目标接口的信息存储路径和预设的接口配置模板,生成所述目标接口的接口配置文件;
基于所述目标接口的接口配置文件中包含的请求数据字段与响应信息字段,从所述目标接口的类型声明文件中确定待引用的目标类型声明;
根据所述目标接口的接口配置文件和预设的请求函数模板,生成所述目标接口的请求函数,其中,所述目标接口的请求函数引用所述目标接口的目标类型声明。
根据本公开的另一方面,提供了一种请求函数生成装置,包括:
文件获取模块,用于获取用于描述接口的接口描述文件;
声明文件生成模块,用于根据所述接口描述文件中记录的接口的接口定义信息和预设的类型模板文件,生成接口的类型声明文件;
配置文件生成模块,用于根据所述接口描述文件中记录的目标接口的信息存储路径和预设的接口配置模板,生成所述目标接口的接口配置文件;
类型声明确定模块,用于基于所述目标接口的接口配置文件中包含的请求数据字段与响应信息字段,从所述目标接口的类型声明文件中确定待引用的目标类型声明;
请求函数生成模块,用于根据所述目标接口的接口配置文件和预设的请求函数模板,生成所述目标接口的请求函数,其中,所述目标接口的请求函数引用所述目标接口的目标类型声明。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面中任一项所述的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据第一方面中任一项所述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据第一方面中任一项所述的方法。
由以上可见,本公开实施例提供的方案能够基于接口描述文件直接便捷地生成用于调用接口的请求函数,并且所生成的请求函数引用了类型声明,从而可以保证请求函数的类型安全性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1为本公开实施例提供的第一种请求函数生成方法的流程示意图;
图2为本公开实施例提供的一种swagger文件读取的流程示意图;
图3为本公开实施例提供的第二种请求函数生成方法的流程示意图;
图4为本公开实施例提供的第三种请求文件生成方法的流程示意图;
图5为本公开实施例提供的第四种请求文件生成方法的流程示意图;
图6为本公开实施例提供的第五种请求文件生成方法的流程示意图;
图7为本公开实施例提供的一种类型声明文件生成的流程示意图;
图8为本公开实施例提供的一种类型声明文件生成软件架构示意图;
图9为本公开实施例提供的第一种请求函数生成装置的结构示意图;
图10为本公开实施例提供的第二种请求函数生成装置的结构示意图;
图11为本公开实施例提供的第三种请求函数生成装置的结构示意图;
图12为本公开实施例提供的第四种请求函数生成装置的结构示意图;
图13是用来实现本公开实施例的请求函数生成方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
首先,对本公开的应用场景进行说明:
在后端开发人员完成后端程序编写后,可以使用用于生成接口描述文件的接口生成接口描述文件,上述接口描述文件可以为swagger文件,上述swagger文件是交互式接口文档,接口描述文件中记录有后端开发人员编写的各个接口的接口信息,前端开发人员可以通过查看上述接口描述文件确定各个接口的接口信息,并在编写前端程序时手动编写用于调用上述接口的请求函数,但手动编写请求函数的效率较低。
上述接口描述文件中可以分别记录有各个接口的接口定义信息与信息存储路径,每一接口的信息存储路径为该接口的接口信息的存储路径,存储路径处记录有该接口的请求数据的配置信息以及响应数据的配置信息,上述接口定义信息可以被称为definitions(定义)信息,信息存储路径可以被称为paths(路径)信息。
上述definitions信息中包含接口的name(名称)信息、type(类型)信息、properties(属性)信息等,上述properties信息中记录有该接口的请求数据的name信息、type信息、description(描述)信息等,上述properties信息中还记录有该接口的响应数据的name信息、type信息、description信息等。
上述paths信息中记录有接口的路径、接口的名称、接口的请求数据的定义以及接口的响应数据的定义。
具体的,上述请求数据的定义中包含请求数据的类型,上述响应数据的定义中包含响应数据的类型。
其中上述接口描述文件中包含的paths字段中包含的每项parameters(范围)字段对应接口的一个请求数据,parameters字段中包含的schema(提要)字段的取值表示存在类型约束的请求数据,paths字段中包含的每项response(响应)字段对应接口的一个响应数据,response字段中“200”状态下的schema字段的取值表示存在类型约束的响应数据。
以下对本公开实施例提供的请求函数生成方法进行说明。
参见图1,为本公开实施例提供的第一种请求函数生成方法的流程示意图,上述方法包括以下步骤S101-S105。
S101:获取用于描述接口的接口描述文件。
本公开的一个实施例中,可以通过以下步骤A或步骤B获取接口描述文件。
步骤A:基于接口描述文件的访问地址获取上述接口描述文件。
具体的,用户可以通过输入命令行控制电子设备获取接口描述文件,其中,接口描述文件可以为swagger文件,用户可以输入-s或-swagger命令控制电子设备基于访问地址导入上述swagger文件,命令行参数为swagger json url(swagger JavaScript ObjectNotation uniform resource locator,swagger JavaScript对象简谱统一资源定位系统)地址即swagger文件的访问地址。
电子设备可以基于上述访问地址通过http(hypertext transfer protocol,超文本传输协议)软件模块下载接口描述文件。
步骤B:读取预设的项目目录中存储的接口描述文件。
本公开的一个实施例中,上述预设的项目目录中已存储有上述接口描述文件,用户可以使用命令行输入-file命令控制电子设备从项目目录中读取上述接口描述文件。
由此可见,本公开实施例提供的方案可以通过两种不同的方式获取接口描述文件,接口描述文件获取的方式较为灵活,用户可以自行选择不同的方式获取接口描述文件。
具体的,上述接口描述文件为swagger文件,获取swagger文件的过程可以参见下文图2所示的实施例,在此暂不详述。
S102:根据上述接口描述文件中记录的接口的接口定义信息和预设的类型模板文件,生成接口的类型声明文件。
本公开的一个实施例中,可以读取上述接口描述文件并遍历上述接口描述文件中记录的信息,获取各个接口的接口定义信息。并且针对每一接口,本公开实施例均可以通过步骤S102基于该接口的接口定义信息生成该接口的类型声明文件。
具体的,电子设备可以借助用于读取文件的file(文件)软件模块读取接口描述文件,将接口描述文件转为json文档流。再遍历json文档流,从中查找关键字“definitions”与“paths”获取各个接口的definitions信息与paths信息。
另外,上述预设的类型模板文件可以是基于页面模板库Handlebars.js编写的,上述类型模板文件是hbs格式的文件。
本公开的一个实施例中,上述类型模板文件中记录有待生成的类型声明文件中所包含的字段,将上述definitions信息中记录的信息作为类型模板文件中包含的字段的取值,得到上述类型声明文件,上述类型声明文件为ts格式的文件,可以被命名为type.d.ts。
在生成上述类型声明文件中可以将上述类型声明文件写入预设的类型声明文件目录中。
另外,上述类型声明文件中包含各个interface(接口)字段,每一interface字段对应一个接口,上述interface字段中记录有接口名称与接口的属性描述,上述属性描述中包含接口的请求数据的名称和数据类型以及响应数据的名称和数据类型。
本公开的一个实施例中,可以通过以下步骤C-步骤D实现上述步骤S102。
步骤C:确定上述接口描述文件中记录的接口的接口定义信息中包含的目标接口名称与目标属性描述;
步骤D:根据上述接口描述文件中记录的接口的接口定义信息和预设的类型模板文件,生成接口的类型声明文件。
其中,接口的类型声明文件中所记录的接口名称为上述目标接口名称、所记录的属性描述为上述目标属性描述,上述目标接口名称为:该接口的definitions信息中记录的name字段中包含的信息,上述目标属性描述为:该接口的definitions信息中记录的properties字段中包含的信息。
由此可见,通过本公开实施例提供的方案,无需人工手动操作,可以直接基于接口的definitions信息生成记录有接口名称与属性描述的详细的类型声明文件。
S103:根据上述接口描述文件中记录的目标接口的信息存储路径和预设的接口配置模板,生成上述目标接口的接口配置文件。
其中,上述接口配置模板可以被称为apiconfig模板。
本公开的一个实施例中,上述预设的apiconfig模板中包含待生成的接口配置文件包含的字段,上述接口配置文件可以被称为apiconfig文件,将上述paths信息中记录的信息作为apiconfig文件中包含的字段的取值,得到上述apiconfig文件。
具体的,上述apiconfig文件中包含request(请求)字段,用于记录接口的请求数据的定义,其中,request字段中包含的bodyDefinition字段表示存在类型约束的请求数据。上述apiconfig文件中还包含response字段,用于记录接口的响应数据的定义,其中,response字段中包含的definitions字段表示存在类型约束的响应数据。
本公开的另一个实施例中,可以遍历上述接口描述文件中包含的所有paths信息,每一paths信息对应一个接口,将各个paths信息对应的所有接口均作为目标接口,分别基于各项paths信息生成各个目标接口的apiconfig文件。
本公开的又一个实施例中,可以通过以下步骤E-步骤F实现上述步骤S103。
步骤E:接收用户输入的路径参数。
步骤F:基于上述路径参数指示的目标接口的信息存储路径,确定预设的接口配置模板中各参数的取值,生成上述目标接口的接口配置文件。
具体的,上述路径参数可以被称为path参数,路径参数可以指示一项或多项paths信息,将路径参数指示的paths信息对应的接口作为目标接口,仅生成路径参数指示的paths信息对应的目标接口的接口配置文件。
由此可见,本公开实施例提供的方案中电子设备可以基于用户输入的路径参数,确定用户指示的需要生成apiconfig文件的目标接口,从而可以仅对用户指示的特定的目标接口的paths信息进行处理。
S104:基于上述目标接口的接口配置文件中包含的请求数据字段与响应信息字段,从上述目标接口的类型声明文件中确定待引用的目标类型声明。
本公开的一个实施例中,上述请求数据字段可以为前述request字段中包含的bodyDefinition字段,将bodyDefinition字段中记录的请求数据确定为需要引用类型声明的请求数据;上述响应信息字段可以为前述response字段中包含的definition字段,将definition字段中记录的响应数据确定为需要引用类型声明的请求数据。
另外,可以基于bodyDefinition字段中记录的请求数据的名称从类型声明文件中确定该请求数据的数据类型,从而确定请求数据的类型声明;并且可以基于definition字段中记录的响应数据的名称从类型声明文件中确定响应数据的数据类型,从而确定响应数据的类型声明。
S105:根据上述目标接口的接口配置文件和预设的请求函数模板,生成上述目标接口的请求函数。
其中,上述目标接口的请求函数引用上述目标接口的目标类型声明,上述预设的请求函数模板可以是基于页面模板库Handlebars.js编写的,上述请求函数模板是hbs格式的文件。
本公开的一个实施例中,上述请求函数模板中记录有待生成的请求函数中所包含的字段,将上述apiconfig文件中记录的信息作为请求函数模板中包含的字段的取值,得到上述请求函数,上述请求函数为ts格式的文件,可以被命名为api/request.ts。
另外,所生成的请求函数可以被存储于预设的目标路径中。
详细的生成请求函数的流程可以参见下文图3所示的实施例,在此暂不详述。
本公开的另一个实施例中,可以通过步骤G-步骤H实现上述步骤S105,在此暂不详述。
由以上可见,本公开实施例提供的方案能够基于接口描述文件直接便捷地生成用于调用接口的请求函数,而不需要人工手动编写请求函数,从而可以节省人力资源,且避免人工手动编写请求函数带来的编写错误问题。并且,人工手动编写时为了节省编写时间,往往会倾向于不限定请求数据与响应数据的类型,导致接口存在类型安全性问题,并且代码可读性较低从而影响后续运营维护。但通过本公开实施例提供的方案所生成的请求函数中包含类型声明,从而能够保证请求函数的类型安全性,提高代码可读性,有利于后续运营维护。
本公开的一个实施例中,可以通过步骤G-步骤H实现上述步骤S105。
步骤G:确定上述目标接口的接口配置文件中记录的接口名称与接口路径。
步骤H:根据上述目标接口的接口配置文件和预设的请求函数模板,生成上述目标接口的名称为上述接口名称且路径为上述接口路径的请求函数。
本公开的一个实施例中,apiconfig文件中记录的接口名称为生成该apiconfig文件时使用的paths信息指示的存储路径处记录的接口的名称,在生成请求函数时将apiconfig文件中记录的接口名称作为请求函数的名称,相当于将接口描述文件内paths信息指示的存储路径处记录的接口的名称作为请求函数的名称。
本公开的另一个实施例中,上述apiconfig文件中记录的路径为生成该apiconfig文件时使用的paths信息指示的存储路径处记录的接口的路径,在生成请求函数时将apiconfig文件中记录的路径作为请求函数的路径,相当于将接口描述文件内paths信息指示的存储路径处记录的接口的路径作为请求函数的路径。
由此可见,通过本公开实施例提供的方案生成的请求函数的名称可以与接口描述文件内记录的接口的名称保持一致。通过本公开实施例提供的方案生成的请求函数的路径也可以与接口描述文件内记录的接口的路径保持一致。
本公开的另一个实施例中,还可以通过以下步骤I-步骤J生成请求函数。
步骤I:获取用户输入的接口名称。
具体的,用户可以调用formatter(格式化程序)函数输入接口名称。
步骤J:根据上述目标接口的接口配置文件和预设的请求函数模板,生成上述目标接口的名称为用户输入的接口名称的请求函数。
与前述步骤G-步骤H相比,本公开实施例生成的请求函数的名称为用户输入的接口名称。
由此可见,本公开实施例提供的方案支持用户自定义请求函数的名称,以使得生成的请求函数与用户需求相匹配。
参见图2,为本公开实施例提供的一种swagger文件读取的流程示意图,包括以下步骤S201-S206。
S201:判断当前电子设备是否提供swagger配置。
若不提供swagger配置,则无法读取swagger文件,则抛出异常,否则执行步骤S202。
S202:判断是否基于url获取swagger文件。
若是,则需要访问url获取swagger文件,执行步骤S203,否则可以从预设的项目目录中读取所存储的swagger文件,执行步骤S205。
S203:基于url建立http链接。
S204:通过所建立的http链接下载swagger文件。
S205:从项目目录中读取swagger文件。
S206:将swagger文件转换为json文档流。
参见图3,为本公开实施例提供的第二种请求函数生成方法的流程示意图。
由图可见,在生成请求函数的过程中,首先获取swagger json文档流;
之后,遍历获取swagger json文档流中的每一paths信息,或者仅获取用户输入的path参数指示的paths信息;
基于apiconfig模板生成apiconfig文件;
遍历apiconfig文件中的每一项,解析request.bodyDefinition字段并解析response.definition字段,确定需要引用的类型声明;
解析请求函数模板request.hbs;
生成请求函数,并存储于预设的目标路径中。
其中,图中虚线框框出的apiconfig文件、目标路径以及request.hbs,表示在生成请求函数的过程中所需的信息。
参见图4,为本公开实施例提供的第三种请求文件生成方法的流程示意图,与前述图1所示的实施例相比,在步骤S105之前还包括以下步骤S106,且S105可以通过以下步骤S105A实现。
S106:生成用于拦截用户请求和/或拦截响应的基础请求函数。
具体的,上述基础请求函数可以用于统一实现请求拦截、响应拦截等功能。上述基础请求函数可以为axios请求文件,所生成的基础请求函数可以与请求函数存储于同一路径中,上述基础请求函数为ts格式的文件,可以被命名为api/request.ts。
本公开的一个实施例中,可以默认执行上述步骤S106,也可以根据用户传入的-instance(实例)参数,确定是否执行步骤S106,若上述-instance参数的取值为true(是),则执行步骤S106,若上述-instance参数的取值为false(否),则不执行步骤S106。
S105A:根据上述目标接口的接口配置文件和预设的请求函数模板,生成上述目标接口的调用上述基础请求函数的请求函数。
具体的,与前述步骤S105生成的请求函数相比,上述步骤S105A生成的请求函数引用了用于拦截用户请求和/或拦截响应的基础请求函数,使得请求函数在运行过程中可以调用所引用的基础请求函数对用户请求和/或响应进行拦截。
由以上可见,本公开实施例提供的方案生成的请求函数可以调用基础请求函数实现对用户请求的拦截和/或响应的拦截,使得开发人员无需手动编写用于实现用户请求拦截和/或响应拦截的程序,提升开发效率。尤其,在生成多个接口的请求函数的情况下,所生成的多个请求函数可以统一引用上述基础请求函数,通过生成一个基础请求函数便可以使得各个请求函数均能够实现用户请求拦截和/或响应拦截。
参见图5,为本公开实施例提供的第四种请求文件生成方法的流程示意图,与前述图1所示的实施例相比,在步骤S105之后还包括以下步骤S107。
S107:生成用于引入并暴露上述请求函数的索引文件。
具体的,上述索引文件用于引入并暴露所生成的请求函数,以使得其他项目可以直接调用上述请求函数,上述索引文件可以是ts格式的文件,可以被命名为api/index.ts。
本公开的一个实施例中,可以默认执行上述步骤S107,也可以根据用户传入的-index(索引)参数,确定是否执行步骤S107,若上述-index参数的取值为true,则执行步骤S107,若上述-index参数的取值为false,则不执行步骤S107。
由以上可见,本公开实施例提供的方案中通过生成索引文件引入并暴露所生成的请求函数,以使得其他项目可以便捷地调用上述请求函数,便于用户编写调用上述请求函数的代码文件。
参见图6,为本公开实施例提供的第五种请求文件生成方法的流程示意图,与前述图1所示的实施例相比,在上述步骤S102之前,针对上述接口描述文件中记录的接口的接口定义信息,执行以下步骤S108-S110中的至少一种。
S108:按照预设的字符转换关系,将接口定义信息中包含的前端语言不支持的字符转换为前端语言支持的字符。
具体的,若definitions信息中包含前端语言不支持的字符,在直接基于definitions信息生成类型声明文件的情况下,上述类型声明文件中可能包含前端语言不支持的字符,导致所生成的类型声明文件无法正常运行。因此可以首先执行步骤S108对definitions信息中包含的前端语言不支持的字符进行转换。
本公开的一个实施例中,可以遍历上述definitions信息中的每一字符,查找上述字符转换关系中记录的前端语言不支持的字符,再基于上述字符转换关系,将所查找到的字符替换为所对应的前端语言支持的字符。
例如,前端语言不支持的字符为“《”,在上述字符转化关系中与“《”相对应的前端语言支持的字符为“<”,前端语言不支持的字符为“》”,在上述字符转化关系中与“》”相对应的前端语言支持的字符为“>”。
S109:将接口定义信息中包含的字符转换为前端语言支持的预设语言的字符。
上述接口定义信息中可能包含前端语言不支持的语言的字符,则可以将此类字符转换为前端语言支持的预设语言的字符,之后再生成类型声明文件,使得类型声明文件中不包含前端语言不支持的语言的字符,以避免类型声明文件无法运行的问题。
例如,前端语言不支持的语言可以为中文、韩文、日文等,预设语言可以为英文。
本公开的一个实施例中,可以调用翻译程序将字符翻译为预设语言的字符,或者在definitions信息中包含中文字符,预设语言为英文的情况下,可以基于拼音转换程序将中文字符转换为拼音。
S110:按照预设的数据类型转换关系,转换接口定义信息中包含的参数的数据类型。
具体的,由于前端语言与后端语言对部分数据类型的表示形式不同,因此在生成前端使用的类型声明文件之前可以对接口定义信息中包含的部分数据类型进行转换。
例如,前端语言与后端语言对泛型的表示形式不同,因此若不对definitions信息中包含的泛型参数的数据类型进行转换,会导致后续生成的类型声明文件中记录的泛型参数的数据类型无法成功被读取,使得类型声明文件运行失败。为此,可以将definitions信息中包含的泛型参数的数据类型转换为前端语言能够处理的T类型。
由以上可见,本公开实施例提供的方案可以先将definitions信息中包含的前端语言不支持的字符转换为前端语言支持的字符,使得后续基于definitions信息生成的类型声明文件中不包含前端语言不支持的字符,以避免类型声明文件运行失败。
此外,本公开实施例提供的方案还可以先将definitions信息中包含的前端语言包含的字符转换为前端语言支持的语言的字符,使得后续基于definitions信息生成的类型声明文件中仅包含前端语言支持的语言字符,以避免类型声明文件运行失败。
再者,本公开实施例提供的方案中对definitions信息中包含的参数的数据类型进行转换,使得基于数据类型转换后的definitions信息生成的类型声明文件能够成功运行。
参见图7,为本公开实施例提供的一种类型声明文件生成的流程示意图。
由图可见,在生成类型声明文件的过程中,首先获取swagger文件;
遍历swagger文件中的definitions信息;
生成固定结构的definitions信息并进行泛型处理;
具体的,生成固定结构的definitions信息即基于前述步骤S108-S110中的至少一个步骤对definitions信息进行处理。
之后,对类型模板文件进行解析,并将definitions信息中包含的参数写入类型模板文件中;
输出类型声明文件。
图中虚线框框出的definitions、类型声明文件的目录与类型模板文件为生成类型声明文件的过程中使用的信息。其中,definitions表示经过泛型处理的固定结构的definitions,类型声明文件的目录为所生成的类型声明文件的存储路径。
参见图8,为本公开实施例提供的一种类型声明文件生成软件架构示意图。
上述软件架构中包含依赖项、命令行参数、技术方案流程与工程化四个部分。
上述依赖项中包含用于打包程序的gulp相关的依赖项、用于编译程序的bable和typescript相关的依赖项、用于进行程序测试的jest依赖项以及types相关的依赖项。还包括commander依赖项、用于编写模板的handlebars依赖项、用于文件管理的fs-extra依赖项、用于将中文字符转换为拼音的pinyin依赖项。
暴露package.json/bin指暴露依赖项共本方案调用,之后编写命令行工具CLI(Command-Line Interface,命令行界面)。
所编写的命令行包括用于获取用户输入的接口名称的-formatter命令行、用于控制电子设备基于url获取swagger文件的-s或-swagger命令行、用于控制是否生成索引文件的-index命令行、用于控制是否生成基础请求函数的-instance命令行、用于获取用户输入的请求函数存储路径的-d或-dir命令行、用于读取项目目录中存储的swagger文件的-file命令行,用于获取用户输入的path参数的-p或-path命令行、用于调用模板的-template命令行、用于重写函数的-override命令行。
通过命令行调用工具后可以读取swagger文件、创建请求函数以及相关文件(如基础请求函数与索引文件)、创建类型声明文件。
之后对生成的请求函数与其他文件进行工程化,包括进行jest单元测试、bable编译、gulp打包以及npm发布等,进行工程化的过程可以调用前述依赖项。
与上述请求函数生成方法相对应的,本公开实施例还提供了一种请求函数生成装置。
参见图9,为本公开实施例提供的第一种请求函数生成装置的结构示意图,上述装置包括:
文件获取模块901,用于获取用于描述接口的接口描述文件;
声明文件生成模块902,用于根据所述接口描述文件中记录的接口的接口定义信息和预设的类型模板文件,生成接口的类型声明文件;
配置文件生成模块903,用于根据所述接口描述文件中记录的目标接口的信息存储路径和预设的接口配置模板,生成所述目标接口的接口配置文件;
类型声明确定模块904,用于基于所述目标接口的接口配置文件中包含的请求数据字段与响应信息字段,从所述目标接口的类型声明文件中确定待引用的目标类型声明;
请求函数生成模块905,用于根据所述目标接口的接口配置文件和预设的请求函数模板,生成所述目标接口的请求函数,其中,所述目标接口的请求函数引用所述目标接口的目标类型声明。
由以上可见,本公开实施例提供的方案能够基于接口描述文件直接便捷地生成用于调用接口的请求函数,而不需要人工手动编写请求函数,从而可以节省人力资源,且避免人工手动编写请求函数带来的编写错误问题。并且,人工手动编写时为了节省编写时间,往往会倾向于不限定请求数据与响应数据的类型,导致接口存在类型安全性问题,并且代码可读性较低从而影响后续运营维护。但通过本公开实施例提供的方案所生成的请求函数中包含类型声明,从而能够保证请求函数的类型安全性,提高代码可读性,有利于后续运营维护。
参见图10,为本公开实施例提供的第二种请求函数生成装置的结构示意图,与前述图9所示的实施例相比,还包括:
基础请求函数生成模块906,用于生成用于拦截用户请求和/或拦截响应的基础请求函数;
所述请求函数生成模块905,具体用于:
根据所述目标接口的接口配置文件和预设的请求函数模板,生成所述目标接口的调用所述基础请求函数的请求函数。
由以上可见,本公开实施例提供的方案生成的请求函数可以调用基础请求函数实现对用户请求的拦截和/或响应的拦截,使得开发人员无需手动编写用于实现用户请求拦截和/或响应拦截的程序,提升开发效率。尤其,在生成多个接口的请求函数的情况下,所生成的多个请求函数可以统一引用上述基础请求函数,通过生成一个基础请求函数便可以使得各个请求函数均能够实现用户请求拦截和/或响应拦截。
参见图11,为本公开实施例提供的第三种请求函数生成装置的结构示意图,与前述图9所示的实施例相比,还包括:
索引文件生成模块907,用于生成用于引入并暴露所述请求函数的索引文件。
由以上可见,本公开实施例提供的方案中通过生成索引文件引入并暴露所生成的请求函数,以使得其他项目可以便捷地调用上述请求函数,便于用户编写调用上述请求函数的代码文件。
本公开的一个实施例中,所述配置文件生成模块903,具体用于:
接收用户输入的路径参数;
基于所述路径参数指示的目标接口的信息存储路径,确定预设的接口配置模板中各参数的取值,生成所述目标接口的接口配置文件。
由此可见,本公开实施例提供的方案中电子设备可以基于用户输入的路径参数,确定用户指示的需要生成apiconfig文件的目标接口,从而可以仅对用户指示的特定的目标接口的paths信息进行处理。
本公开的一个实施例中,所述文件获取模块901,具体用于:
基于接口描述文件的访问地址获取所述接口描述文件;
读取预设的项目目录中存储的接口描述文件。
由此可见,本公开实施例提供的方案可以通过两种不同的方式获取接口描述文件,接口描述文件获取的方式较为灵活,用户可以自行选择不同的方式获取接口描述文件。
本公开的一个实施例中,所述请求函数生成模块905,具体用于:
确定所述目标接口的接口配置文件中记录的接口名称与接口路径;
根据所述目标接口的接口配置文件和预设的请求函数模板,生成所述目标接口的名称为所述接口名称且路径为所述接口路径的请求函数。
由此可见,通过本公开实施例提供的方案生成的请求函数的名称可以与接口描述文件内记录的接口的名称保持一致。通过本公开实施例提供的方案生成的请求函数的路径也可以与接口描述文件内记录的接口的路径保持一致。
本公开的一个实施例中,所述声明文件生成模块902,具体用于:
确定所述接口描述文件中记录的接口的接口定义信息中包含的目标接口名称与目标属性描述;
根据所述接口描述文件中记录的接口的接口定义信息和预设的类型模板文件,生成接口的类型声明文件,其中,接口的类型声明文件中所记录的接口名称为所述目标接口名称、所记录的属性描述为所述目标属性描述。
由此可见,通过本公开实施例提供的方案,无需人工手动操作,可以直接基于接口的definitions信息生成记录有接口名称与属性描述的详细的类型声明文件。
参见图12,为本公开实施例提供的第四种请求函数生成装置的结构示意图,与前述图9所示的实施例相比,所述装置还包括:
信息转换模块908,用于针对所述接口描述文件中记录的接口的接口定义信息,执行以下步骤中的至少一种:
按照预设的字符转换关系,将接口定义信息中包含的前端语言不支持的字符转换为前端语言支持的字符;
将接口定义信息中包含的字符转换为前端语言支持的预设语言的字符;
按照预设的数据类型转换关系,转换接口定义信息中包含的参数的数据类型。
由以上可见,本公开实施例提供的方案可以先将definitions信息中包含的前端语言不支持的字符转换为前端语言支持的字符,使得后续基于definitions信息生成的类型声明文件中不包含前端语言不支持的字符,以避免类型声明文件运行失败。
此外,本公开实施例提供的方案还可以先将definitions信息中包含的前端语言包含的字符转换为前端语言支持的语言的字符,使得后续基于definitions信息生成的类型声明文件中仅包含前端语言支持的语言字符,以避免类型声明文件运行失败。
再者,本公开实施例提供的方案中对definitions信息中包含的参数的数据类型进行转换,使得基于数据类型转换后的definitions信息生成的类型声明文件能够成功运行。
本公开的一个实施例中,所述请求函数生成模块905,具体用于:
获取用户输入的接口名称;
根据所述目标接口的接口配置文件和预设的请求函数模板,生成所述目标接口的名称为用户输入的接口名称的请求函数。
由此可见,本公开实施例提供的方案支持用户自定义请求函数的名称,以使得生成的请求函数与用户需求相匹配。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图13示出了可以用来实施本公开的实施例的示例电子设备1300的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图13所示,设备1300包括计算单元1301,其可以根据存储在只读存储器(ROM)1302中的计算机程序或者从存储单元1308加载到随机访问存储器(RAM)1303中的计算机程序,来执行各种适当的动作和处理。在RAM 1303中,还可存储设备1300操作所需的各种程序和数据。计算单元1301、ROM 1302以及RAM 1303通过总线1304彼此相连。输入/输出(I/O)接口1305也连接至总线1304。
设备1300中的多个部件连接至I/O接口1305,包括:输入单元1306,例如键盘、鼠标等;输出单元1307,例如各种类型的显示器、扬声器等;存储单元1308,例如磁盘、光盘等;以及通信单元1309,例如网卡、调制解调器、无线通信收发机等。通信单元1309允许设备1300通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1301可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1301的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1301执行上文所描述的各个方法和处理,例如请求函数生成方法。例如,在一些实施例中,请求函数生成方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1308。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1302和/或通信单元1309而被载入和/或安装到设备1300上。当计算机程序加载到RAM 1303并由计算单元1301执行时,可以执行上文描述的请求函数生成方法的一个或多个步骤。备选地,在其他实施例中,计算单元1301可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行请求函数生成方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (21)

1.一种请求函数生成方法,包括:
获取用于描述接口的接口描述文件;
根据所述接口描述文件中记录的接口的接口定义信息和预设的类型模板文件,生成接口的类型声明文件,所述类型声明文件中包含接口的名称与属性描述,所述属性描述中包含接口的请求数据的名称和数据类型以及响应数据的名称和数据类型,所述类型声明文件中包含的接口的名称为:所述接口描述文件中该接口的接口定义definitions信息中记录的名称name字段中包含的信息,所述类型声明文件中包含的接口的属性描述为:所述接口描述文件中该接口的definitions信息中记录的描述properties字段中包含的信息;
根据所述接口描述文件中记录的目标接口的信息存储路径和预设的接口配置模板,生成所述目标接口的接口配置文件,所述信息存储路径包括:用于指示存在类型约束的请求数据的信息和用于指示存在类型约束的响应数据的信息;
基于所述目标接口的接口配置文件中包含的请求数据字段与响应信息字段,从所述目标接口的类型声明文件中确定待引用的目标类型声明;
根据所述目标接口的接口配置文件和预设的请求函数模板,生成所述目标接口的请求函数,其中,所述目标接口的请求函数引用所述目标接口的目标类型声明。
2.根据权利要求1所述的方法,其中,在所述根据所述目标接口的接口配置文件和预设的请求函数模板,生成所述目标接口的请求函数之前,还包括:
生成用于拦截用户请求和/或拦截响应的基础请求函数;
所述根据所述目标接口的接口配置文件和预设的请求函数模板,生成所述目标接口的请求函数,包括:
根据所述目标接口的接口配置文件和预设的请求函数模板,生成所述目标接口的调用上述基础请求函数的请求函数。
3.根据权利要求1所述的方法,其中,在所述根据所述目标接口的接口配置文件和预设的请求函数模板,生成所述目标接口的请求函数之后,还包括:
生成用于引入并暴露所述请求函数的索引文件。
4.根据权利要求1-3中任一项所述的方法,其中,所述根据所述接口描述文件中记录的目标接口的信息存储路径和预设的接口配置模板,生成所述目标接口的接口配置文件,包括:
接收用户输入的路径参数;
基于所述路径参数指示的目标接口的信息存储路径,确定预设的接口配置模板中各参数的取值,生成所述目标接口的接口配置文件。
5.根据权利要求1-3中任一项所述的方法,其中,所述获取用于描述接口的接口描述文件,包括:
基于接口描述文件的访问地址获取所述接口描述文件;
读取预设的项目目录中存储的接口描述文件。
6.根据权利要求1-3中任一项所述的方法,其中,所述根据所述目标接口的接口配置文件和预设的请求函数模板,生成所述目标接口的请求函数,包括:
确定所述目标接口的接口配置文件中记录的接口名称与接口路径;
根据所述目标接口的接口配置文件和预设的请求函数模板,生成所述目标接口的名称为所述接口名称且路径为所述接口路径的请求函数。
7.根据权利要求1-3中任一项所述的方法,其中,所述根据所述接口描述文件中记录的接口的接口定义信息和预设的类型模板文件,生成接口的类型声明文件,包括:
确定所述接口描述文件中记录的接口的接口定义信息中包含的目标接口名称与目标属性描述;
根据所述接口描述文件中记录的接口的接口定义信息和预设的类型模板文件,生成接口的类型声明文件,其中,接口的类型声明文件中所记录的接口名称为所述目标接口名称、所记录的属性描述为所述目标属性描述。
8.根据权利要求1-3中任一项所述的方法,其中,在所述根据所述接口描述文件中记录的接口的接口定义信息和预设的类型模板文件,生成接口的类型声明文件之前,还包括:
针对所述接口描述文件中记录的接口的接口定义信息,执行以下步骤中的至少一种:
按照预设的字符转换关系,将接口定义信息中包含的前端语言不支持的字符转换为前端语言支持的字符;
将接口定义信息中包含的字符转换为前端语言支持的预设语言的字符;
按照预设的数据类型转换关系,转换接口定义信息中包含的参数的数据类型。
9.根据权利要求1-3中任一项所述的方法,其中,所述根据所述目标接口的接口配置文件和预设的请求函数模板,生成所述目标接口的请求函数,包括:
获取用户输入的接口名称;
根据所述目标接口的接口配置文件和预设的请求函数模板,生成所述目标接口的名称为用户输入的接口名称的请求函数。
10.一种请求函数生成装置,包括:
文件获取模块,用于获取用于描述接口的接口描述文件;
声明文件生成模块,用于根据所述接口描述文件中记录的接口的接口定义信息和预设的类型模板文件,生成接口的类型声明文件,所述类型声明文件中包含接口的名称与属性描述,所述属性描述中包含接口的请求数据的名称和数据类型以及响应数据的名称和数据类型,所述类型声明文件中包含的接口的名称为:所述接口描述文件中该接口的接口定义definitions信息中记录的名称name字段中包含的信息,所述类型声明文件中包含的接口的属性描述为:所述接口描述文件中该接口的definitions信息中记录的描述properties字段中包含的信息;
配置文件生成模块,用于根据所述接口描述文件中记录的目标接口的信息存储路径和预设的接口配置模板,生成所述目标接口的接口配置文件,所述信息存储路径包括:用于指示存在类型约束的请求数据的信息和用于指示存在类型约束的响应数据的信息;
类型声明确定模块,用于基于所述目标接口的接口配置文件中包含的请求数据字段与响应信息字段,从所述目标接口的类型声明文件中确定待引用的目标类型声明;
请求函数生成模块,用于根据所述目标接口的接口配置文件和预设的请求函数模板,生成所述目标接口的请求函数,其中,所述目标接口的请求函数引用所述目标接口的目标类型声明。
11.根据权利要求10所述的装置,其中,所述装置还包括:
基础请求函数生成模块,用于生成用于拦截用户请求和/或拦截响应的基础请求函数;
所述请求函数生成模块,具体用于:
根据所述目标接口的接口配置文件和预设的请求函数模板,生成所述目标接口的调用所述基础请求函数的请求函数。
12.根据权利要求10所述的装置,其中,所述装置还包括:
索引文件生成模块,用于生成用于引入并暴露所述请求函数的索引文件。
13.根据权利要求10-12中任一项所述的装置,其中,所述配置文件生成模块,具体用于:
接收用户输入的路径参数;
基于所述路径参数指示的目标接口的信息存储路径,确定预设的接口配置模板中各参数的取值,生成所述目标接口的接口配置文件。
14.根据权利要求10-12中任一项所述的装置,其中,所述文件获取模块,具体用于:
基于接口描述文件的访问地址获取所述接口描述文件;
读取预设的项目目录中存储的接口描述文件。
15.根据权利要求10-12中任一项所述的装置,其中,所述请求函数生成模块,具体用于:
确定所述目标接口的接口配置文件中记录的接口名称与接口路径;
根据所述目标接口的接口配置文件和预设的请求函数模板,生成所述目标接口的名称为所述接口名称且路径为所述接口路径的请求函数。
16.根据权利要求10-12中任一项所述的装置,其中,所述声明文件生成模块,具体用于:
确定所述接口描述文件中记录的接口的接口定义信息中包含的目标接口名称与目标属性描述;
根据所述接口描述文件中记录的接口的接口定义信息和预设的类型模板文件,生成接口的类型声明文件,其中,接口的类型声明文件中所记录的接口名称为所述目标接口名称、所记录的属性描述为所述目标属性描述。
17.根据权利要求10-12中任一项所述的装置,其中,所述装置还包括:
信息转换模块,用于针对所述接口描述文件中记录的接口的接口定义信息,执行以下步骤中的至少一种:
按照预设的字符转换关系,将接口定义信息中包含的前端语言不支持的字符转换为前端语言支持的字符;
将接口定义信息中包含的字符转换为前端语言支持的预设语言的字符;
按照预设的数据类型转换关系,转换接口定义信息中包含的参数的数据类型。
18.根据权利要求10-12中任一项所述的装置,其中,所述请求函数生成模块,具体用于:
获取用户输入的接口名称;
根据所述目标接口的接口配置文件和预设的请求函数模板,生成所述目标接口的名称为用户输入的接口名称的请求函数。
19.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法。
20.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-9中任一项所述的方法。
21.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-9中任一项所述的方法。
CN202211407033.9A 2022-11-10 2022-11-10 请求函数生成方法、装置、设备及存储介质 Active CN116028028B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211407033.9A CN116028028B (zh) 2022-11-10 2022-11-10 请求函数生成方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211407033.9A CN116028028B (zh) 2022-11-10 2022-11-10 请求函数生成方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN116028028A CN116028028A (zh) 2023-04-28
CN116028028B true CN116028028B (zh) 2024-08-30

Family

ID=86076610

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211407033.9A Active CN116028028B (zh) 2022-11-10 2022-11-10 请求函数生成方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116028028B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117118962B (zh) * 2023-07-25 2024-03-22 领悦数字信息技术有限公司 用于跨多个云平台部署用户方法的方法和系统
CN117075912B (zh) * 2023-10-16 2023-12-26 芯行纪科技有限公司 用于程序语言转换的方法、编译方法及相关设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114168366A (zh) * 2021-12-08 2022-03-11 普元信息技术股份有限公司 基于swagger实现前端请求发送处理的方法、装置、处理器及其计算机可读存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150317156A1 (en) * 2014-05-01 2015-11-05 Ca, Inc. Systems and Methods for Automated Generation of Interactive Documentation Based on Web Application Description Language Files
CN112148356B (zh) * 2019-06-28 2024-03-22 腾讯科技(深圳)有限公司 文档生成方法、接口开发方法、装置、服务器及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114168366A (zh) * 2021-12-08 2022-03-11 普元信息技术股份有限公司 基于swagger实现前端请求发送处理的方法、装置、处理器及其计算机可读存储介质

Also Published As

Publication number Publication date
CN116028028A (zh) 2023-04-28

Similar Documents

Publication Publication Date Title
KR102497463B1 (ko) 미니프로그램 실행 방법, 미니프로그램 실행 장치, 전자 기기 및 저장 매체
CN111026470B (zh) 用于输入数据的验证和转换的系统和方法
CN116028028B (zh) 请求函数生成方法、装置、设备及存储介质
CN111680253B (zh) 页面应用数据包生成方法、装置、计算机设备及存储介质
JP7324831B2 (ja) ディープラーニングフレームワークにおける演算子の展開方法、展開装置及び電子機器
US8615750B1 (en) Optimizing application compiling
US9632987B2 (en) Technique that enhances the manipulation of an HTML tree presentation by using an array representation of the hierarchical path of a tree node
EP3799631A1 (en) Rendering lambda functions in spreadsheet applications
JP2012513648A (ja) デバッグパイプライン
US11741002B2 (en) Test automation systems and methods using logical identifiers
US9311077B2 (en) Identification of code changes using language syntax and changeset data
CN111125064B (zh) 一种生成数据库模式定义语句的方法和装置
US10691434B2 (en) System and method for converting a first programming language application to a second programming language application
CN114153459A (zh) 接口文档生成方法及装置
CN115599386A (zh) 代码生成方法、装置、设备及存储介质
CN117931219A (zh) 前端项目实现方法、装置、电子设备和存储介质
US20050177818A1 (en) Integration of external tools into an existing design environment
CN112416333A (zh) 软件模型训练方法、装置、系统、设备和存储介质
CN113642295B (zh) 页面排版方法、装置及计算机程序产品
CN114625373A (zh) 应用转换方法、装置、电子设备和存储介质
JP7269244B2 (ja) サービス管理アプリケーションインターフェースにおいてグローバリゼーション機能を提供するためのシステムおよび方法
CN112445468A (zh) Typescript类型文件生成方法、装置、设备及计算机可读存储介质
CN117270838B (zh) 一种通用公式脚本的生成方法、装置、设备及介质
JP7393404B2 (ja) コンパイル方法、コンパイル装置、電子デバイス、記憶媒体及びプログラム
CN116320060A (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