CN117111933A - 前端代码生成方法、装置和计算机可读存储介质 - Google Patents
前端代码生成方法、装置和计算机可读存储介质 Download PDFInfo
- Publication number
- CN117111933A CN117111933A CN202210528809.6A CN202210528809A CN117111933A CN 117111933 A CN117111933 A CN 117111933A CN 202210528809 A CN202210528809 A CN 202210528809A CN 117111933 A CN117111933 A CN 117111933A
- Authority
- CN
- China
- Prior art keywords
- interface
- cloud
- information
- code
- cloud service
- 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 82
- 238000006243 chemical reaction Methods 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 10
- 238000000605 extraction Methods 0.000 claims description 8
- 238000012216 screening Methods 0.000 claims description 5
- 238000011161 development Methods 0.000 abstract description 9
- 230000006870 function Effects 0.000 description 51
- 239000008186 active pharmaceutical agent Substances 0.000 description 19
- 238000010586 diagram Methods 0.000 description 12
- 238000004458 analytical method Methods 0.000 description 9
- 239000000284 extract Substances 0.000 description 7
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 108010001267 Protein Subunits Proteins 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 239000003607 modifier Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
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/38—Creation or generation of source code for implementing user interfaces
-
- 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/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
- G06F9/548—Object oriented; Remote method invocation [RMI]
Abstract
本申请实施例公开了一种前端代码生成方法、装置和计算机可读存储介质,涉及互联网技术领域;通过获取至少一个云服务对应的接口文档地址信息;根据接口文档地址信息,访问云服务对应的接口文档;在接口文档中识别出云服务的至少一个云接口;在接口文档中提取出云接口对应的接口属性信息,以得到云服务对应的目标接口属性信息;基于目标接口属性信息,生成云服务对应的目标代码。以此,通过访问云服务对应的接口文档,并在接口文档中提取出云服务的每一云接口对应的接口属性信息,以得到云服务对应的目标接口属性信息,从而根据目标属性信息生成云服务对应的目标代码,提高前端代码生成的效率,进而提升了开发效率。
Description
技术领域
本申请涉及互联网技术领域,具体涉及一种前端代码生成方法、装置和计算机可读存储介质。
背景技术
近年来,随着互联网技术的快速发展,云计算的应用越来越广泛,例如,云厂商通过云市场来提供云产品服务。在同时购买多家云服务厂商提供的服务时,企业需要通过在一个控制平台中对接各个云厂商的产品,此时,需要通过各个云厂商提供的云产品的应用程序接口(Application Programming Interface,简称API)接口文档的信息来编写控制平台中用于调用云产品的接口的前端代码,然而,云厂商只提供了API接口文档以及供后端调用的软件开发工具包(Software Development Kit,简称SDK),因此,在现有的前端代码生成方法中,开发人员需要根据API接口文档提供的接口调用信息来对每一接口的前端调用代码进行编写。
在对现有技术的研究和实践过程中发现,现有技术根据API接口文档提供的接口调用信息来对每一接口的前端调用代码进行编写的方法,开发人员需要查找并编写每一接口的出入参定义和调用方法,代码生成过程繁杂且耗时,使得前端代码生成的效率较低,进而导致开发效率较低。
发明内容
本申请实施例提供一种前端代码生成方法、装置和计算机可读存储介质,可以提高前端代码生成的效率,进而提升了开发效率。
本申请实施例提供一种前端代码生成方法,包括:
获取至少一个云服务对应的接口文档地址信息;
根据所述接口文档地址信息,访问所述云服务对应的接口文档;
在所述接口文档中识别出所述云服务的至少一个云接口;
在所述接口文档中提取出所述云接口对应的接口属性信息,以得到所述云服务对应的目标接口属性信息;
基于所述目标接口属性信息,生成所述云服务对应的目标代码。
相应的,本申请实施例提供一种前端代码生成装置,包括:
获取单元,用于获取至少一个云服务对应的接口文档地址信息;
访问单元,用于根据所述接口文档地址信息,访问所述云服务对应的接口文档;
识别单元,用于在所述接口文档中识别出所述云服务的至少一个云接口;
提取单元,用于在所述接口文档中提取出所述云接口对应的接口属性信息,以得到所述云服务对应的目标接口属性信息;
生成单元,用于基于所述目标接口属性信息,生成所述云服务对应的目标代码。
在一实施例中,所述识别单元,包括:
解析子单元,用于对所述接口文档的接口描述页面进行解析,得到页面描述信息;
接口描述信息筛选子单元,用于在所述页面描述信息中,筛选出所述云服务对应的接口描述信息;
云接口确定子单元,用于根据所述接口描述信息,在所述接口文档中确定出所述云服务对应的至少一个云接口。
在一实施例中,所述提取单元,包括:
接口描述子页面识别子单元,用于在所述接口文档的接口描述页面中识别出每一所述云接口对应的接口描述子页面;
接口属性信息提取子单元,用于在所述接口描述子页面中提取出所述云接口对应的接口属性信息;
目标接口属性信息确定子单元,用于基于所述接口描述信息以及接口属性信息,确定所述云服务对应的目标接口属性信息。
在一实施例中,所述生成单元,包括:
结构转换子单元,用于将所述目标接口属性信息进行结构转换,得到结构化接口属性信息;
结构化接口属性信息转换子单元,用于基于预设代码模板,将所述结构化接口属性信息进行转换,得到所述云服务对应的目标代码。
在一实施例中,所述结构化接口属性信息转换子单元,包括:
获取模块,用于获取预设代码模板;
生成模块,用于基于所述预设代码模板,生成所述预设代码模板对应的代码结构信息;
转换模块,用于根据所述代码结构信息,将所述接口结构化数据转换为目标代码。
在一实施例中,所述转换模块,包括:
提取子模块,用于在所述代码结构信息中提取出至少一个结构节点;
识别子模块,用于基于所述结构节点,在预设代码创建接口集合中识别出与所述代码结构信息匹配的至少一个目标代码创建接口;
遍历子模块,用于根据所述目标代码创建接口对所述结构化接口属性信息进行遍历,得到目标代码。
在一实施例中,所述结构转换子单元,包括:
在所述目标接口属性信息中提取出服务列表信息和接口属性列表信息;
分别将所述服务列表信息和接口属性列表信息进行转换,得到所述服务列表信息对应的服务列表结构化信息,以及所述接口属性列表信息对应的接口属性列表结构化信息;
将所述服务列表结构化信息和接口属性列表结构化信息作为结构化接口属性信息。
此外,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本申请实施例所提供的任一种前端代码生成方法中的步骤。
此外,本申请实施例还提供一种计算机设备,包括处理器和存储器,所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序实现本申请实施例提供的前端代码生成方法。
本申请实施例还提供一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机设备执行本申请实施例提供的前端代码生成方法中的步骤。
本申请实施例通过获取至少一个云服务对应的接口文档地址信息;根据接口文档地址信息,访问云服务对应的接口文档;在接口文档中识别出云服务的至少一个云接口;在接口文档中提取出云接口对应的接口属性信息,以得到云服务对应的目标接口属性信息;基于目标接口属性信息,生成云服务对应的目标代码。以此,通过获取云服务对应的接口文档地址信息来访问云服务对应的接口文档,然后,在接口文档中提取出云服务的每一云接口对应的接口属性信息,进而得到云服务对应的目标接口属性信息,从而根据目标接口属性信息生成云服务对应的目标代码,可以简化云服务对应的前端接口调用相关代码的生成流程,提高代码生成的效率,进一步提升了开发效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种前端代码生成方法实施场景示意图;
图2是本申请实施例提供的一种前端代码生成方法的流程示意图;
图3是本申请实施例提供的一种前端代码生成方法的具体流程示意图;
图4是本申请实施例提供的一种前端代码生成方法的另一具体流程示意图;
图5a是本申请实施例提供的一种前端代码生成方法的代码生成页面示意图;
图5b是本申请实施例提供的一种前端代码生成方法的另一代码生成页面示意图;
图6是本申请实施例提供的一种前端代码生成方法的另一流程示意图;
图7是本申请实施例提供的前端代码生成装置的结构示意图;
图8是本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种前端代码生成方法、装置和计算机可读存储介质。其中,该前端代码生成装置可以集成在计算机设备中,该计算机设备可以是服务器,也可以是终端等设备。
其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
请参阅图1,以前端代码生成装置集成在计算机设备中为例,图1为本申请实施例所提供的前端代码生成方法的实施场景示意图,其中,该计算机设备可以为服务器,也可以为终端,该计算机设备可以获取至少一个云服务对应的接口文档地址信息;根据接口文档地址信息,访问云服务对应的接口文档;在接口文档中识别出云服务的至少一个云接口;在接口文档中提取出云接口对应的接口属性信息,以得到云服务对应的目标接口属性信息;基于目标接口属性信息,生成云服务对应的目标代码。
需要说明的是,本发明实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。图1所示的前端代码生成方法的实施环境场景示意图仅仅是一个示例,本申请实施例描述的前端代码生成方法的实施环境场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定。本领域普通技术人员可知,随着代码生成的演变和新业务场景的出现,本申请提供的技术方案对于类似的技术问题,同样适用。
以下分别进行详细说明。需要说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本实施例将从前端代码生成装置的角度进行描述,该前端代码生成装置具体可以集成在计算机设备中,该计算机设备可以是终端,本申请在此不作限制。
请参阅图2,图2是本申请实施例提供的前端代码生成方法的流程示意图。该前端代码生成方法包括:
在步骤101中,获取至少一个云服务对应的接口文档地址信息。
其中,该云服务可以为通过网络、互联网等云平台提供的服务,每一云服务可以对应一个云产品,例如可以为云服务器、云硬盘、云函数、对象存储等产品,每一云产品可以以应用程序接口(Application Programming Interface,简称API)的形式提供云产品资源,基于该云产品资源为用户提供相应的云服务。该接口文档地址信息可以为云服务对应的接口文档的地址信息,该接口文档可以为包括描述云服务对应的接口的相关信息的文档,云服务提供商可以将每一云服务以云产品的形式在相关云平台中进行出售,并为每一云服务对应的云产品编写对应的云产品文档,而接口文档可以为云产品文档中描述接口的文档,该描述云服务对应的接口的相关信息可以包括云服务对应的接口的接口名称、接口描述、接口出入参等信息,该地址信息可以为包括接口文档对应的地址的信息,可以为统一资源定位符地址(URL),即可以为因特网(Internet)上接口文档对应的网页的地址。
在步骤102中,根据接口文档地址信息,访问云服务对应的接口文档。
其中,请参考图3,图3是本申请实施例提供的一种前端代码生成方法的具体流程示意图,在获取到至少一个云服务对应的接口文档地址信息之后,可以根据接口文档地址信息,访问云服务对应的接口文档。
其中,根据接口文档地址信息,访问云服务对应的接口文档的方式可以有多种,例如,可以采用无头浏览器访问该接口文档地址信息,从而可以基于访问结果来访问云服务对应的接口文档,其中,无头浏览器(Headless browser)可以为在图形界面情况下运行的浏览器。
在步骤103中,在接口文档中识别出云服务的至少一个云接口。
其中,该云接口可以为云服务对应的接口,接口是指提供特定业务输出能力、连接不同系统的一种约定。一个云服务可以对应多个云接口,通过调用该云接口可以获取云服务提供的资源。
其中,在所述接口文档中识别出所述云服务的至少一个云接口的方式可以有多种,例如,可以对该接口文档的接口描述页面进行解析,得到页面描述信息,在该页面描述信息中,筛选出该云服务对应的接口描述信息,根据该接口描述信息,在该接口文档中确定出该云服务对应的至少一个云接口。
其中,该接口描述页面可以为接口文档中描述云服务对应的云接口的页面,可以包括云服务对应的云接口名称以及每一云接口对应的接口功能等接口描述信息。该页面描述信息可以为在接口描述页面中提取出来的描述页面内容的信息,例如,可以为接口描述页面中的文本信息,该接口描述信息可以为在页面描述信息中识别出的描述云服务对应的云接口的信息,例如,可以包括云服务对应的云接口名称以及云接口对应的接口功能等信息。
其中,根据该接口描述信息,在该接口文档中确定出该云服务对应的至少一个云接口的方式可以有多种,例如,可以在接口描述信息中识别出接口名称,从而可以根据接口名称确定云服务对应的至少一个云接口。
在步骤104中,在接口文档中提取出云接口对应的接口属性信息,以得到云服务对应的目标接口属性信息。
其中,该接口属性信息可以为云接口对应的属性信息,可以包括云接口的接口调用的相关信息,该属性信息可以为包括云接口的性质与云接口之间关系的信息,例如,可以包括云接口的接口名称、接口描述、输入参数信息、输出参数信息、错误码信息等信息,该输入参数信息可以包括输入参数对应的字段名(name)、类型(type)、是否必填(required)等信息,该输出参数信息可以包括输出参数对应的字段名(name)、类型(type)、是否必填(required)等信息,该错误码信息可以为云接口的返回错误码信息,可以包括错误码(code)、描述信息(message)等信息。该目标接口属性可以为包括云服务的每一云接口的接口属性信息的信息。
其中,在该接口文档中提取出该云接口对应的接口属性信息,以得到该云服务对应的目标接口属性信息的方式可以有多种,例如,请继续参考图3,可以分析接口文档中接口描述页面的页面结构,从而可以在该接口描述页面中识别出每一该云接口对应的接口描述子页面,在该接口描述子页面中提取出该云接口对应的接口属性信息,基于该接口描述信息以及接口属性信息,确定该云服务对应的目标接口属性信息。
其中,该接口描述子页面可以为基于接口描述页面进入的至少一个子页面,该接口描述子页面可以为描述接口描述页面中每一接口的相关信息的页面,可以包括云接口的接口名称、接口描述、输入参数信息、输出参数信息、错误码信息等信息。
其中,在该接口文档的接口描述页面中识别出每一该云接口对应的接口描述子页面的方式可以有多种,例如,可以在接口文档的接口描述页面中识别出云服务对应的云接口名称以及云接口对应的接口功能等信息,根据云接口名称以及云接口对应的接口功能,在接口文档中查找该云接口名称或者云接口对应的接口功能对应的子页面入口,再通过该子页面入口进入到对应的接口描述子页面。
其中,基于该接口描述信息以及接口属性信息,确定该云服务对应的目标接口属性信息的方式可以有多种,例如,可以在每一云接口对应的接口描述信息以及接口属性信息中,提取出调用每一云接口需要的相关属性信息,例如,可以包括云服务中每一云接口的接口名称、接口描述、输入参数信息、输出参数信息、错误码信息等相关属性信息,从而可以基于该相关属性信息得到该云服务对应的目标接口属性信息。
在步骤105中,基于目标接口属性信息,生成云服务对应的目标代码。
其中,该目标代码可以为用于调用云服务对应的云接口的代码,可以为前端调用云接口的代码,可选的,该目标代码可以为基于开源编程语言(TypeScript)生成的前端代码,前端开发人员可以直接根据云服务对应的目标代码来实现对云服务的云接口的调用,避免了人工查找并编写每一接口的出入参定义和调用方法的流程,提高了开发效率。
其中,基于该目标接口属性信息,生成该云服务对应的目标代码的方式可以有多种,例如,可以将该目标接口属性信息进行结构转换,得到结构化接口属性信息,基于预设代码模板,将该结构化接口属性信息进行转换,得到该云服务对应的目标代码。
其中,该结构化接口属性信息可以为将目标接口属性信息进行结构化的转换后得到的数据,该预设代码模板可以为根据实际业务需求预先确定的一个重构代码的模板,该预设代码模板可以为是超文本传输协议(Hyper Text Transfer Protocol,简称http)请求类型的代码模板,即http请求代码模板,其中,http请求可以是指从客户端到服务器端的请求消息。该预设代码模板可以包括接口的输入参数定义、输出参数定义以及接口请求函数定义等内容。该输入参数定义可以用于生成调用云接口所需的输入参数对应的代码,该输出参数定义可以用于生成调用云接口所需的输出参数对应的代码,该接口请求函数定义可以用于生成调用云接口所需的请求函数对应的代码,其中,预设代码模块中接口的输入参数定义、输出参数定义以及接口请求函数定义等内容可以根据实际情况进行设计,例如,该接口的输入参数定义可以表示为:
输出参数定义的格式可以与输入参数定义相同,该接口请求函数定义可以表示为:
其中,将该目标接口属性信息进行结构转换,得到结构化接口属性信息的方式可以有多种,例如,可以在该目标接口属性信息中提取出服务列表信息和接口属性列表信息,分别将该服务列表信息和接口属性列表信息进行转换,得到该服务列表信息对应的服务列表结构化信息,以及该接口属性列表信息对应的接口属性列表结构化信息,将该服务列表结构化信息和接口属性列表结构化信息作为结构化接口属性信息。
其中,该服务列表信息可以为包括至少一个云服务对应的云产品构成的有限序列的信息,该接口属性列表信息可以为包括由至少一个云服务对应的云接口的接口属性信息构成的有限序列的信息,该服务列表结构化信息可以为进行结构化转换后的服务列表信息,该接口属性列表结构化信息可以为进行结构化转换后的接口属性列表信息。
可选的,该服务列表信息可以为显示在代码生成页面中的云产品列表,在该云产品列表中可以显示每一云产品的名称,以及每个云产品对应的云接口数量(apiNum)、复杂对象数量(interfaceNum)、返回码数量(errorCodeNum)等信息,其中,该云接口数量可以为每一云产品对应的云API接口(即云接口)的数量,该复杂对象数量可以为每一云产品中复杂对象的数量,该复杂对象可以包括云服务中每一云接口的输入参数以及输出参数的实体信息,例如,可以包括云接口的输入参数以及输出参数中各个字段的字段名、类型、是否必填等描述信息。该返回码数量可以为每一云产品中云接口对应的返回错误码的数量。例如,假设存在云产品1和云产品2,则该服务列表信息可以表示为:
可选的,该接口属性列表信息可以包括接口列表数据、复杂对象数据以及错误码数据,该接口列表数据可以主要包括云产品对应的云接口组成的列表,在列表中可以显示每一云接口的接口名(action)、描述信息(desc)、版本(version)以及对应的输入参数(inputs)以及输出参数(outputs)中各个字段的描述信息等信息。例如,假设云服务对应的云产品1中包括添加子用户接口(Adduser)以及用户加入到用户组接口(AddUserToGroup),该接口列表数据可以表示为:
例如,某一云接口对应的复杂对象数据可以表示为:
例如,假设云产品存在对应的两个错误码(Failed0peration.PolicyFull以及Failed0peration.PolicyNameInUse),则该错误码数据可以表示为:
其中,将该目标接口属性信息进行结构转换的方式可以有多种,例如,可以调用结构化接口(即结构化API)将该目标接口属性信息进行结构转换,以此得到云服务对应的结构化接口属性信息,该结构化API可以为用于将数据进行结构化转换的接口,可以根据具体需求进行设计。
在将该目标接口属性信息进行结构转换之后,可以基于预设代码模板,将该结构化接口属性信息进行转换,得到该云服务对应的目标代码。其中,基于预设代码模板,将该结构化接口属性信息进行转换的方式可以有多种,例如,请参考图4,图4是本申请实施例提供的一种前端代码生成方法的另一具体流程示意图,可以获取预设代码模板,基于该预设代码模板,生成该预设代码模板对应的代码结构信息,根据该代码结构信息,将该接口结构化数据转换为目标代码。
其中,该代码结构信息可以为表征预设代码模板中的语法结构的信息,例如,该代码结构信息可以为抽象语法树(Abstract Syntax Tree),以树状的形式表现预设代码模板中编程语言的语法结构。
其中,基于该预设代码模板,生成该预设代码模板对应的代码结构信息的方式可以有多种,比如,可以采用解析器对该预设代码模板进行循环解析,根据解析结果来得到该预设代码模板对应的代码结构信息。例如,以该代码结构信息为抽象语法树,可以通过抽象语法树解析器对预设代码模板进行循环解析,进而将预设代码模板中定义的代码数据进行词性分析,也叫扫描(Scanner),也即将预设代码模板中所有的单词或字符按照预定的规则转换成一个个的标记(Token)。同时,可以移除空白符、注释等,最终将预设代码模板中的代码数据分割进一个Token列表中,从而生成对应的标记数据,接着可以对该标记数据进行语法分析,也即将词法分析得到的Token列表转换成树形的形式,同时,可以通过抽象语法树解析器验证语法,以及删除一些没必要的Token,例如不完整的括号等,以此,可以得到预设代码模板对应的抽象语法树。其中,抽象语法树的每一个节点可以代表预设代码模板中的一个语法结构,例如包、类型、修饰符、运算符、接口、返回值等都可以是一个语法结构。
在基于该预设代码模板,生成该预设代码模板对应的代码结构信息之后,便可以根据该代码结构信息,将该接口结构化数据转换为目标代码。其中,基于该代码结构信息,将该结构化接口属性信息转换为目标代码的方式可以有多种,例如,可以在该代码结构信息中提取出至少一个结构节点,基于该结构节点,在预设代码创建接口集合中识别出与该代码结构信息匹配的至少一个目标代码创建接口,根据该目标代码创建接口对该结构化接口属性信息进行遍历,得到目标代码。
其中,该结构节点可以为代码结构信息中的一个语法结构,预设代码模板中每一关键字可以为一个结构节点,例如,以该代码结构信息为抽象语法树为例,该结构节点可以为抽象语法树中的一个节点,树上的每个节点都表示源代码中的一种语法结构。该预设代码创建接口集合可以为预先设定的一个由至少一个代码创建接口构成的整体,该代码创建接口可以为生成代码的接口,可以用于根据预设代码模板中的语法结构将结构化接口属性信息转换为目标代码。例如,该预设代码创建接口集合可以为TypeScript中生成代码的编译器API(Compiler API)中的API的集合,该代码创建接口可以为TypeScript中生成代码的编译器API(Compiler API)中的API。
其中,基于该结构节点,在预设代码创建接口集合中识别出与该代码结构信息匹配的至少一个目标代码创建接口,根据该目标代码创建接口对该结构化接口属性信息进行遍历,得到目标代码的方式可以有多种,例如,以该代码结构信息为抽象语法树为例,可以假设预设代码目标中存在函数声明(FunctionDeclaration)、数组声明(ArrayDeclaration)等关键字,可以基于该函数声明的关键字在预设代码创建接口集合中查找与该关键字类型对应的代码创建接口,例如,可以在预设代码创建接口集合中查找与函数声明的关键字类型对应的创建函数(function)代码的接口函数,譬如,可以为函数代码创建接口(ts.createFunctionDeclaration),同时,可以在预设代码创建接口集合中查找与述组声明的关键字类型对应的创建数组代码的接口函数,譬如,可以为数组代码创建接口(ts.createArrayDeclaration)等。
在一实施例中,可以将本申请实施例提供的前端代码生成方法应用于代码生成平台中,根据代码生成平台中的代码生成页面的内容来选择并获取任一云服务的云接口的相关调用代码,例如,请参考图5a,图5a是本申请实施例提供的一种前端代码生成方法的代码生成页面示意图,该代码生成页面中可以包括产品列表、接口列表、复杂对象、错误码等信息,该产品列表可以为云产品列表,可以基于本申请实施例提供的前端代码生成方法提取的服务列表信息来生成,例如,请继续参考图5a,该产品列表可以包括云产品1至云产品9对应的接口数量、复杂对象数量、返回码数量(即错误码数量)等信息。该接口列表(各个云产品操作资源的接口,比如获取云服务器列表接口)、复杂对象(各个云接口对应的出入参信息)、错误码(各个接口对应的接口返回码信息)可以分别基于接口属性列表信息中的接口列表数据、复杂对象数据以及错误码数据等数据生成。
可选的,产品列表可以指将云服务对应的云接口汇总为一个云产品,因为云厂商都是以产品为维度来定义接口,在产品列表中可以批量选择云产品,然后生成每一云产品所对应的所有云接口的前端代码。接口列表是根据产品分类,将各个云产品对应的云接口全部罗列,可以批量选择生成当前云接口的前端代码。该复杂对象可以指每个云接口对应的出入参的定义,可以单独生成出入参定义对应的前端代码。该错误码可以指每一云接口的错误码信息,可以单独生成每一云接口的对应的错误码的前端代码。此外,在产品列表页面可以直接下载生成云产品对应的API前端代码的压缩包。在接口列表、复杂对象、错误码等页面可以直接在页面上显示生成的代码,然后复制对应的代码到需要应用的程序中。例如,可以参考图5b,图5b是本申请实施例提供的一种前端代码生成方法的另一代码生成页面示意图,可以在接口列表页面选择代码生成操作,从而可以直接在当前页面上显示生成的代码,同时,可以通过选择页面上的复制代码控件对生成的代码进行复制以转移到应用程序中。
由以上可知,本申请实施例通过获取至少一个云服务对应的接口文档地址信息;根据接口文档地址信息,访问云服务对应的接口文档;在接口文档中识别出云服务的至少一个云接口;在接口文档中提取出云接口对应的接口属性信息,以得到云服务对应的目标接口属性信息;基于目标接口属性信息,生成云服务对应的目标代码。以此,通过获取云服务对应的接口文档地址信息来访问云服务对应的接口文档,然后,在接口文档中提取出云服务的每一云接口对应的接口属性信息,进而得到云服务对应的目标接口属性信息,从而根据目标接口属性信息生成云服务对应的目标代码,可以简化云服务对应的接口调用相关代码的生成流程,提高代码生成的效率,进一步提升了开发效率。
根据上面实施例所描述的方法,以下将举例作进一步详细说明。
在本实施例中,将以该前端代码生成装置具体集成在计算机设备为例进行说明。其中,该前端代码生成方法以终端为执行主体进行具体的描述。
为了更好的描述本申请实施例,请参阅图6。图6为本申请实施例提供的前端代码生成方法的另一流程示意图。具体流程如下:
在步骤201中,终端获取至少一个云服务对应的接口文档地址信息,根据该接口文档地址信息,访问该云服务对应的接口文档。
其中,请参考图3,终端在获取到至少一个云服务对应的接口文档地址信息之后,可以根据接口文档地址信息,访问云服务对应的接口文档。
其中,终端根据接口文档地址信息,访问云服务对应的接口文档的方式可以有多种,例如,终端可以采用无头浏览器访问该接口文档地址信息,从而可以基于访问结果来访问云服务对应的接口文档,其中,无头浏览器可以为在图形界面情况下运行的浏览器。
在步骤202中,终端对该接口文档的接口描述页面进行解析,得到页面描述信息,在该页面描述信息中,筛选出该云服务对应的接口描述信息,根据该接口描述信息,在该接口文档中确定出该云服务对应的至少一个云接口。
其中,终端根据该接口描述信息,在该接口文档中确定出该云服务对应的至少一个云接口的方式可以有多种,例如,终端可以在接口描述信息中识别出接口名称,从而可以根据接口名称确定云服务对应的至少一个云接口。
在步骤203中,终端在该接口文档的接口描述页面中识别出每一该云接口对应的接口描述子页面,在该接口描述子页面中提取出该云接口对应的接口属性信息,基于该接口描述信息以及接口属性信息,确定该云服务对应的目标接口属性信息。
其中,终端在该接口文档的接口描述页面中识别出每一该云接口对应的接口描述子页面的方式可以有多种,例如,终端可以在接口文档的接口描述页面中识别出云服务对应的云接口名称以及云接口对应的接口功能等信息,根据云接口名称以及云接口对应的接口功能,在接口文档中查找该云接口名称或者云接口对应的接口功能对应的子页面入口,再通过该子页面入口进入到对应的接口描述子页面。
其中,终端基于该接口描述信息以及接口属性信息,确定该云服务对应的目标接口属性信息的方式可以有多种,例如,终端可以在每一云接口对应的接口描述信息以及接口属性信息中,提取出调用每一云接口需要的相关属性信息,例如,可以包括云服务中每一云接口的接口名称、接口描述、输入参数信息、输出参数信息、错误码信息等相关属性信息,从而可以基于该相关属性信息得到该云服务对应的目标接口属性信息。
在步骤204中,终端在该目标接口属性信息中提取出服务列表信息和接口属性列表信息,分别将该服务列表信息和接口属性列表信息进行转换,得到该服务列表信息对应的服务列表结构化信息,以及该接口属性列表信息对应的接口属性列表结构化信息,将该服务列表结构化信息和接口属性列表结构化信息作为结构化接口属性信息。
可选的,该服务列表信息可以为显示在代码生成页面中的云产品列表,在该云产品列表中可以显示每一云产品的名称,以及每个云产品对应的云接口数量、复杂对象数量、返回码数量等信息,其中,该云接口数量可以为每一云产品对应的云API接口(即云接口)的数量,该复杂对象数量可以为每一云产品中复杂对象的数量,该复杂对象可以包括云服务中每一云接口的输入参数以及输出参数的实体信息,例如,可以包括云接口的输入参数以及输出参数中各个字段的字段名、类型、是否必填等描述信息。该返回码数量可以为每一云产品中云接口对应的返回错误码的数量。
可选的,该接口属性列表信息可以包括接口列表数据、复杂对象数据以及错误码数据,该接口列表数据可以主要包括云产品对应的云接口组成的列表,在列表中可以显示每一云接口的接口名、描述信息、版本以及对应的输入参数以及输出参数中各个字段的描述信息等信息。
其中,终端将该目标接口属性信息进行结构转换的方式可以有多种,例如,终端可以调用结构化接口(即结构化API)将该目标接口属性信息进行结构转换,以此得到云服务对应的结构化接口属性信息,该结构化API可以为用于将数据进行结构化转换的接口,可以根据具体需求进行设计。
在步骤205中,终端获取预设代码模板,基于该预设代码模板,生成该预设代码模板对应的代码结构信息,根据该代码结构信息,将该接口结构化数据转换为目标代码。
其中,终端基于该预设代码模板,生成该预设代码模板对应的代码结构信息的方式可以有多种,比如,终端可以采用解析器对该预设代码模板进行循环解析,根据解析结果来得到该预设代码模板对应的代码结构信息。例如,以该代码结构信息为抽象语法树,终端可以通过抽象语法树解析器对预设代码模板进行循环解析,进而将预设代码模板中定义的代码数据进行词性分析,也叫扫描Scanner,也即将预设代码模板中所有的单词或字符按照预定的规则转换成一个个的Token。同时,可以移除空白符、注释等,最终将预设代码模板中的代码数据分割进一个Token列表中,从而生成对应的标记数据,接着可以对该标记数据进行语法分析,也即将词法分析得到的Token列表转换成树形的形式,同时,可以通过抽象语法树解析器验证语法,以及删除一些没必要的Token,例如不完整的括号等,以此,可以得到预设代码模板对应的抽象语法树。其中,抽象语法树的每一个节点可以代表预设代码模板中的一个语法结构,例如包、类型、修饰符、运算符、接口、返回值等都可以是一个语法结构。
终端在基于该预设代码模板,生成该预设代码模板对应的代码结构信息之后,便可以根据该代码结构信息,将该接口结构化数据转换为目标代码。其中,终端基于该代码结构信息,将该结构化接口属性信息转换为目标代码的方式可以有多种,例如,终端可以在该代码结构信息中提取出至少一个结构节点,基于该结构节点,在预设代码创建接口集合中识别出与该代码结构信息匹配的至少一个目标代码创建接口,根据该目标代码创建接口对该结构化接口属性信息进行遍历,得到目标代码。
其中,终端基于该结构节点,在预设代码创建接口集合中识别出与该代码结构信息匹配的至少一个目标代码创建接口,根据该目标代码创建接口对该结构化接口属性信息进行遍历,得到目标代码的方式可以有多种,例如,以该代码结构信息为抽象语法树为例,可以假设预设代码目标中存在函数声明(FunctionDeclaration)、数组声明(ArrayDeclaration)等关键字,可以基于该函数声明的关键字在预设代码创建接口集合中查找与该关键字类型对应的代码创建接口,例如,可以在预设代码创建接口集合中查找与函数声明的关键字类型对应的创建函数(function)代码的接口函数,譬如,可以为函数代码创建接口(ts.createFunctionDeclaration),同时,可以在预设代码创建接口集合中查找与述组声明的关键字类型对应的创建数组代码的接口函数,譬如,可以为数组代码创建接口(ts.createArrayDeclaration)等。
在一实施例中,可以将本申请实施例提供的前端代码生成方法应用于代码生成平台中,根据代码生成平台中的代码生成页面的内容来选择并获取任一云服务的云接口的相关调用代码,例如,请参考图5a,该代码生成页面中可以包括产品列表、接口列表、复杂对象、错误码等信息,该产品列表可以为云产品列表,可以基于本申请实施例提供的前端代码生成方法提取的服务列表信息来生成,例如,请继续参考图5a,该产品列表可以包括云产品1至云产品9对应的接口数量、复杂对象数量、返回码数量(即错误码数量)等信息。该接口列表(各个云产品操作资源的接口,比如获取云服务器列表接口)、复杂对象(各个云接口对应的出入参信息)、错误码(各个接口对应的接口返回码信息)可以分别基于接口属性列表信息中的接口列表数据、复杂对象数据以及错误码数据等数据生成。
可选的,产品列表可以指将云服务对应的云接口汇总为一个云产品,因为云厂商都是以产品为维度来定义接口,在产品列表中可以批量选择云产品,然后生成每一云产品所对应的所有云接口的前端代码。接口列表是根据产品分类,将各个云产品对应的云接口全部罗列,可以批量选择生成当前云接口的前端代码。该复杂对象可以指每个云接口对应的出入参的定义,可以单独生成出入参定义对应的前端代码。该错误码可以指每一云接口的错误码信息,可以单独生成每一云接口的对应的错误码的前端代码。此外,在产品列表页面可以直接下载生成云产品对应的API前端代码的压缩包。在接口列表、复杂对象、错误码等页面可以直接在页面上显示生成的代码,然后复制对应的代码到需要应用的程序中。例如,可以参考图5b,可以在接口列表页面选择代码生成操作,从而可以直接在当前页面上显示生成的代码,同时,可以通过选择页面上的复制代码控件对生成的代码进行复制以转移到应用程序中。
由以上可知,本申请实施例通过终端获取至少一个云服务对应的接口文档地址信息,根据该接口文档地址信息,访问该云服务对应的接口文档;终端对该接口文档的接口描述页面进行解析,得到页面描述信息,在该页面描述信息中,筛选出该云服务对应的接口描述信息,根据该接口描述信息,在该接口文档中确定出该云服务对应的至少一个云接口;终端在该接口文档的接口描述页面中识别出每一该云接口对应的接口描述子页面,在该接口描述子页面中提取出该云接口对应的接口属性信息,基于该接口描述信息以及接口属性信息,确定该云服务对应的目标接口属性信息;终端在该目标接口属性信息中提取出服务列表信息和接口属性列表信息,分别将该服务列表信息和接口属性列表信息进行转换,得到该服务列表信息对应的服务列表结构化信息,以及该接口属性列表信息对应的接口属性列表结构化信息,将该服务列表结构化信息和接口属性列表结构化信息作为结构化接口属性信息;终端获取预设代码模板,基于该预设代码模板,生成该预设代码模板对应的代码结构信息,根据该代码结构信息,将该接口结构化数据转换为目标代码。以此,通过获取云服务对应的接口文档地址信息来访问云服务对应的接口文档,然后,在接口文档中提取出云服务的每一云接口对应的接口属性信息,进而得到云服务对应的目标接口属性信息,然后,将目标接口属性信息进行结构转换,得到结构化接口属性信息,基于该预设代码模板,生成该预设代码模板对应的代码结构信息,根据该代码结构信息,将该接口结构化数据转换为目标代码,简化了云服务对应的接口调用相关代码的生成流程,提高了代码生成的效率,进一步提升了开发效率。
为了更好地实施以上方法,本发明实施例还提供一种前端代码生成装置,该前端代码生成装置可以集成在计算机设备中,该计算机设备可以为终端。
例如,如图7所示,为本申请实施例提供的前端代码生成装置的结构示意图,该前端代码生成装置可以包括获取单元301、访问单元302、识别单元303、提取单元304和生成单元305,如下:
获取单元301,用于获取至少一个云服务对应的接口文档地址信息;
访问单元302,用于根据该接口文档地址信息,访问该云服务对应的接口文档;
识别单元303,用于在该接口文档中识别出该云服务的至少一个云接口;
提取单元304,用于在该接口文档中提取出该云接口对应的接口属性信息,以得到该云服务对应的目标接口属性信息;
生成单元305,用于基于该目标接口属性信息,生成该云服务对应的目标代码。
在一实施例中,该识别单元303,包括:
解析子单元,用于对该接口文档的接口描述页面进行解析,得到页面描述信息;
接口描述信息筛选子单元,用于在该页面描述信息中,筛选出该云服务对应的接口描述信息;
云接口确定子单元,用于根据该接口描述信息,在该接口文档中确定出该云服务对应的至少一个云接口。
在一实施例中,该提取单元304,包括:
接口描述子页面识别子单元,用于在该接口文档的接口描述页面中识别出每一该云接口对应的接口描述子页面;
接口属性信息提取子单元,用于在该接口描述子页面中提取出该云接口对应的接口属性信息;
目标接口属性信息确定子单元,用于基于该接口描述信息以及接口属性信息,确定该云服务对应的目标接口属性信息。
在一实施例中,该生成单元305,包括:
结构转换子单元,用于将该目标接口属性信息进行结构转换,得到结构化接口属性信息;
结构化接口属性信息转换子单元,用于基于预设代码模板,将该结构化接口属性信息进行转换,得到该云服务对应的目标代码。
在一实施例中,该结构化接口属性信息转换子单元,包括:
获取模块,用于获取预设代码模板;
生成模块,用于基于该预设代码模板,生成该预设代码模板对应的代码结构信息;
转换模块,用于根据该代码结构信息,将该接口结构化数据转换为目标代码。
在一实施例中,该转换模块,包括:
提取子模块,用于在该代码结构信息中提取出至少一个结构节点;
识别子模块,用于基于该结构节点,在预设代码创建接口集合中识别出与该代码结构信息匹配的至少一个目标代码创建接口;
遍历子模块,用于根据该目标代码创建接口对该结构化接口属性信息进行遍历,得到目标代码。
在一实施例中,该结构转换子单元,包括:
在该目标接口属性信息中提取出服务列表信息和接口属性列表信息;
分别将该服务列表信息和接口属性列表信息进行转换,得到该服务列表信息对应的服务列表结构化信息,以及该接口属性列表信息对应的接口属性列表结构化信息;
将该服务列表结构化信息和接口属性列表结构化信息作为结构化接口属性信息。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由以上可知,本申请实施例通过获取单元301获取至少一个云服务对应的接口文档地址信息;访问单元302根据接口文档地址信息,访问云服务对应的接口文档;识别单元303在接口文档中识别出云服务的至少一个云接口;提取单元304在接口文档中提取出云接口对应的接口属性信息,以得到云服务对应的目标接口属性信息;生成单元305基于目标接口属性信息,生成云服务对应的目标代码。以此,通过获取云服务对应的接口文档地址信息来访问云服务对应的接口文档,然后,在接口文档中提取出云服务的每一云接口对应的接口属性信息,进而得到云服务对应的目标接口属性信息,从而根据目标接口属性信息生成云服务对应的目标代码,可以简化云服务对应的前端接口调用相关代码的生成流程,提高代码生成的效率,进一步提升了开发效率。
本申请实施例还提供一种计算机设备,如图8所示,其示出了本申请实施例所涉及的计算机设备的结构示意图,该计算机设备可以是终端,具体来讲:
该计算机设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图8中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行计算机设备的各种功能和处理数据。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及代码生成。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
计算机设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该计算机设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
获取至少一个云服务对应的接口文档地址信息;根据接口文档地址信息,访问云服务对应的接口文档;在接口文档中识别出云服务的至少一个云接口;在接口文档中提取出云接口对应的接口属性信息,以得到云服务对应的目标接口属性信息;基于目标接口属性信息,生成云服务对应的目标代码。
以上各个操作的具体实施可参见前面的实施例,在此不作赘述。应当说明的是,本申请实施例提供的计算机设备与上文实施例中的适用于前端代码生成方法属于同一构思,其具体实现过程详见以上方法实施例,此处不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种前端代码生成方法中的步骤。例如,该指令可以执行如下步骤:
获取至少一个云服务对应的接口文档地址信息;根据接口文档地址信息,访问云服务对应的接口文档;在接口文档中识别出云服务的至少一个云接口;在接口文档中提取出云接口对应的接口属性信息,以得到云服务对应的目标接口属性信息;基于目标接口属性信息,生成云服务对应的目标代码。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请实施例所提供的任一种前端代码生成方法中的步骤,因此,可以实现本申请实施例所提供的任一种前端代码生成方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
其中,根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例提供的各种可选实现方式中提供的方法。
以上对本申请实施例所提供的一种前端代码生成方法、装置和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (11)
1.一种前端代码生成方法,其特征在于,包括:
获取至少一个云服务对应的接口文档地址信息;
根据所述接口文档地址信息,访问所述云服务对应的接口文档;
在所述接口文档中识别出所述云服务的至少一个云接口;
在所述接口文档中提取出所述云接口对应的接口属性信息,以得到所述云服务对应的目标接口属性信息;
基于所述目标接口属性信息,生成所述云服务对应的目标代码。
2.如权利要求1所述的前端代码生成方法,其特征在于,所述在所述接口文档中识别出所述云服务的至少一个云接口,包括:
对所述接口文档的接口描述页面进行解析,得到页面描述信息;
在所述页面描述信息中,筛选出所述云服务对应的接口描述信息;
根据所述接口描述信息,在所述接口文档中确定出所述云服务对应的至少一个云接口。
3.如权利要求2所述的前端代码生成方法,其特征在于,所述在所述接口文档中提取出所述云接口对应的接口属性信息,以得到所述云服务对应的目标接口属性信息,包括:
在所述接口文档的接口描述页面中识别出每一所述云接口对应的接口描述子页面;
在所述接口描述子页面中提取出所述云接口对应的接口属性信息;
基于所述接口描述信息以及接口属性信息,确定所述云服务对应的目标接口属性信息。
4.如权利要求1所述的前端代码生成方法,其特征在于,所述基于所述目标接口属性信息,生成所述云服务对应的目标代码,包括:
将所述目标接口属性信息进行结构转换,得到结构化接口属性信息;
基于预设代码模板,将所述结构化接口属性信息进行转换,得到所述云服务对应的目标代码。
5.如权利要求4所述的前端代码生成方法,其特征在于,所述基于预设代码模板,将所述结构化接口属性信息进行转换,得到所述云服务对应的目标代码,包括:
获取预设代码模板;
基于所述预设代码模板,生成所述预设代码模板对应的代码结构信息;
根据所述代码结构信息,将所述接口结构化数据转换为目标代码。
6.如权利要求5所述的前端代码生成方法,其特征在于,所述基于所述代码结构信息,将所述结构化接口属性信息转换为目标代码,包括:
在所述代码结构信息中提取出至少一个结构节点;
基于所述结构节点,在预设代码创建接口集合中识别出与所述代码结构信息匹配的至少一个目标代码创建接口;
根据所述目标代码创建接口对所述结构化接口属性信息进行遍历,得到目标代码。
7.如权利要求4所述的前端代码生成方法,其特征在于,所述将所述目标接口属性信息进行结构转换,得到结构化接口属性信息,包括:
在所述目标接口属性信息中提取出服务列表信息和接口属性列表信息;
分别将所述服务列表信息和接口属性列表信息进行转换,得到所述服务列表信息对应的服务列表结构化信息,以及所述接口属性列表信息对应的接口属性列表结构化信息;
将所述服务列表结构化信息和接口属性列表结构化信息作为结构化接口属性信息。
8.一种前端代码生成装置,其特征在于,包括:
获取单元,用于获取至少一个云服务对应的接口文档地址信息;
访问单元,用于根据所述接口文档地址信息,访问所述云服务对应的接口文档;
识别单元,用于在所述接口文档中识别出所述云服务的至少一个云接口;
提取单元,用于在所述接口文档中提取出所述云接口对应的接口属性信息,以得到所述云服务对应的目标接口属性信息;
生成单元,用于基于所述目标接口属性信息,生成所述云服务对应的目标代码。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至7任一项所述的前端代码生成方法中的步骤。
10.一种计算机设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可以在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的前端代码生成方法。
11.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现权利要求1至7任一项所述的前端代码生成方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210528809.6A CN117111933A (zh) | 2022-05-16 | 2022-05-16 | 前端代码生成方法、装置和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210528809.6A CN117111933A (zh) | 2022-05-16 | 2022-05-16 | 前端代码生成方法、装置和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117111933A true CN117111933A (zh) | 2023-11-24 |
Family
ID=88804300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210528809.6A Pending CN117111933A (zh) | 2022-05-16 | 2022-05-16 | 前端代码生成方法、装置和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117111933A (zh) |
-
2022
- 2022-05-16 CN CN202210528809.6A patent/CN117111933A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021017735A1 (zh) | 一种智能合约的形式化验证方法、电子装置及存储介质 | |
JP2018097846A (ja) | Api学習 | |
CN102929646B (zh) | 应用程序生成方法及装置 | |
CN110020358B (zh) | 用于生成动态页面的方法和装置 | |
CN112540862A (zh) | 一种接口文档数据生成方法、装置、设备及存储介质 | |
CN113238740B (zh) | 代码生成方法、代码生成装置、存储介质及电子设备 | |
US11573790B2 (en) | Generation of knowledge graphs based on repositories of code | |
CN115599386A (zh) | 代码生成方法、装置、设备及存储介质 | |
CN114398396A (zh) | 数据查询方法、存储介质和计算机程序产品 | |
CN113742231A (zh) | 基于Protobuf协议动态解析的造数方法及装置 | |
CN117370242A (zh) | 通过解析接口文档生成多语言sdk客户端的适配器和方法 | |
US20100023924A1 (en) | Non-constant data encoding for table-driven systems | |
CN111897828A (zh) | 数据批处理实现方法、装置、设备及存储介质 | |
CN116226850A (zh) | 应用程序的病毒检测方法、装置、设备、介质及程序产品 | |
KR20200103133A (ko) | 하둡 기반의 빅데이터 시스템에서 etl 절차를 수행하는 방법 및 장치 | |
US11294649B1 (en) | Techniques for translating between high level programming languages | |
CN117111933A (zh) | 前端代码生成方法、装置和计算机可读存储介质 | |
CN113050987A (zh) | 一种接口文档的生成方法、装置、存储介质及电子设备 | |
CN111475403A (zh) | 测试脚本的动态生成方法及相关装置 | |
CN112433752A (zh) | 页面解析方法、装置、介质及电子设备 | |
CN111783006A (zh) | 页面的生成方法、装置、电子设备及计算机可读介质 | |
CN111400623A (zh) | 用于搜索信息的方法和装置 | |
CN117289905B (zh) | 一种应用软件开发方法和装置、存储介质和电子设备 | |
CN117112021B (zh) | 路由配置生成方法、装置、设备及计算机可读存储介质 | |
WO2023097750A1 (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 |