CN111581920A - 文档转换方法、装置、设备及计算机存储介质 - Google Patents
文档转换方法、装置、设备及计算机存储介质 Download PDFInfo
- Publication number
- CN111581920A CN111581920A CN202010399936.1A CN202010399936A CN111581920A CN 111581920 A CN111581920 A CN 111581920A CN 202010399936 A CN202010399936 A CN 202010399936A CN 111581920 A CN111581920 A CN 111581920A
- Authority
- CN
- China
- Prior art keywords
- document
- conversion
- target
- format
- code
- 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
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 226
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000001514 detection method Methods 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000012423 maintenance Methods 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 10
- 238000007726 management method Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000011990 functional testing Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明涉及金融科技(Fintech)技术领域,并公开了一种文档转换方法,该方法包括:接收输入的转换指令,并检测所述转换指令是否为文档转换代码指令;若是,则基于所述文档转换代码指令在预设的多个模板中确定目标模板,并将所述文档转换代码指令对应的目标文档输入至所述目标模板;根据所述目标模板中的格式规则对所述目标文档进行格式转换,以获取所述目标文档对应的目标代码。本发明还公开了一种文档转换装置、设备和一种计算机存储介质。本发明实现了文档与代码的相互转换,减少了开发人员对文档的维护成本。
Description
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及文档转换方法、装置、设备及计算机存储介质。
背景技术
随着计算机技术的发展,越来越多的技术(大数据、分布式、区块链Blockchain、人工智能等)应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对文档转换技术提出了更高的要求。目前所有的开源文档(如Yapi或其他)平台只能提供传统的文档功能,没有文档对应代码的双向转换或生成代码功能。而且在开源文档平台中,从文档到代码的开发成本较高,无法实现自动化创建或更新文档,导致开发人员对开源文档平台中的文档维护成本较高。因此,如何实现文档与代码的相互转换,减少对文档的维护成本成为了目前亟待解决的技术问题。
发明内容
本发明的主要目的在于提出一种文档转换方法、装置、设备及计算机存储介质,旨在解决如何实现文档与代码的相互转换,减少对文档的维护成本的技术问题。
为实现上述目的,本发明提供一种文档转换方法,所述文档转换方法包括如下步骤:
接收输入的转换指令,并检测所述转换指令是否为文档转换代码指令;
若是,则基于所述文档转换代码指令在预设的多个模板中确定目标模板,并将所述文档转换代码指令对应的目标文档输入至所述目标模板;
根据所述目标模板中的格式规则对所述目标文档进行格式转换,以获取所述目标文档对应的目标代码。
可选地,将所述文档转换代码指令对应的目标文档输入至所述目标模板的步骤,包括:
根据所述文档转换代码指令在预设的多个文档中确定目标文档,并获取所述目标文档的结构化数据,将所述结构化数据输入至所述目标模板。
可选地,根据所述目标模板中的格式规则对所述目标文档进行格式转换的步骤,包括:
获取所述目标文档的所有变量,并依次遍历各所述变量,确定当前遍历的当前变量的当前文档格式;
根据所述目标模板中的格式规则确定所述当前文档格式对应的当前代码格式,将所述当前文档格式转换为所述当前代码格式,直至各所述变量遍历完成。
可选地,检测所述转换指令是否为文档转换代码指令的步骤之后,包括:
若所述转换指令是代码转换文档指令,则确定所述代码转换文档指令对应的初始代码,并根据预设的约束规则将所述初始代码转换为初始文档。
可选地,根据预设的约束规则将所述初始代码转换为初始文档的步骤,包括:
检测所述初始代码中是否存在格式转换数据;
若存在,则根据所述格式转换数据确定初始文档格式,并根据预设的约束规则将所述初始代码的格式转换为所述初始文档格式,基于所述初始文档格式确定初始文档。
可选地,基于所述文档转换代码指令在预设的多个模板中确定目标模板的步骤,包括:
检测所述文档转换代码指令中是否携带有目标模板信息;
若有,则根据所述目标模板信息在预设的多个模板中确定目标模板。
可选地,根据所述目标模板中的格式规则对所述目标文档进行格式转换的步骤,包括:
检测所述目标文档是否按照所述目标模板中的格式规则进行格式转换;
若否,则停止所述目标文档的格式转换,并输出未转换成功的提示信息;若是,则根据所述目标模板中的格式规则对所述目标文档进行格式转换。
此外,为实现上述目的,本发明还提供一种文档转换装置,所述文档转换装置包括:
检测指令,用于接收输入的转换指令,并检测所述转换指令是否为文档转换代码指令;
输入模块,用于若是,则基于所述文档转换代码指令在预设的多个模板中确定目标模板,并将所述文档转换代码指令对应的目标文档输入至所述目标模板;
格式转换模块,用于根据所述目标模板中的格式规则对所述目标文档进行格式转换,以获取所述目标文档对应的目标代码。
此外,为实现上述目的,本发明还提供一种文档转换设备,所述文档转换设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的文档转换程序,所述文档转换程序被所述处理器执行时实现如上所述的文档转换方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机存储介质,所述计算机存储介质上存储有文档转换程序,所述文档转换程序被处理器执行时实现如上所述的文档转换方法的步骤。
本发明通过接收输入的转换指令,并检测所述转换指令是否为文档转换代码指令;若是,则基于所述文档转换代码指令在预设的多个模板中确定目标模板,并将所述文档转换代码指令对应的目标文档输入至所述目标模板;根据所述目标模板中的格式规则对所述目标文档进行格式转换,以获取所述目标文档对应的目标代码。通过在转换指令为文档转换代码指令时,先根据文档转换代码指令确定目标模板,并将目标文档输入至目标模板进行格式转换,以获取目标代码,从而避免了现有技术中无法在平台中直接进行文档转换代码的现象发生,使得文档与代码可以进行相互转换,减少了开发人员对文档的维护成本。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的文档转换设备结构示意图;
图2为本发明文档转换方法第一实施例的流程示意图;
图3为本发明文档转换装置的装置模块示意图;
图4为本发明文档转换方法中文档转换代码的系统流程示意图;
图5为本发明文档转换方法中文档转换代码的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的文档转换设备结构示意图。
本发明实施例文档转换设备可以是PC机或服务器设备,其上运行有Java虚拟机。
如图1所示,该文档转换设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的文档转换设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及文档转换程序。
在图1所示的文档转换设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的文档转换程序,并执行下述文档转换方法中的操作。
基于上述硬件结构,提出本发明文档转换方法实施例。
参照图2,图2为本发明文档转换方法第一实施例的流程示意图,所述方法包括:
步骤S10,接收输入的转换指令,并检测所述转换指令是否为文档转换代码指令;
在本实施例中,主要是应用于开源文档平台中文档的格式转换,即文档转换成代码,或者是代码转换成文档。并且在本实施例主要是以YApi进行举例说明,但不局限于这一种。YApi为一种主流开源文档平台,可以围绕文档的一系列核心操作进一步集成测试相关功能。包括并不限于:接口文档的编辑与展示。如下图展示,通过点击按钮创建接口,可以配置基本的传统HTTP(HyperText Transfer Protocol,超文本传输协议)接口参数,如Header(标头)/Body(文档主体)/Response(响应)等核心参数。固定类型的格式化参数。参数类型也给予Object(目标)/String(一批)/Int(数据类型)等标准类型。接口Mock(模拟)等功能。如下图所示,当接口定义完成以后,开发人员可以配置好基本请求参数,来完成Mock功能,实现接口的简单功能验证。自动化测试集或功能测试集保存等。如下图,当接口完成,测试人员可以准备功能测试集或自动化测试案例等。而在本实施例中,则可以在基于开源项目Yapi的基础上,实现接口文档的代码一键生成,或基于代码的一键更新能力,即只要接收到输入的转换指令就可以将文档快速转换成代码,或者是将代码转换成文档。也就是在本实施例中,当接收到输入的转换指令时,需要先判断该转换指令是文档转换代码指令还是代码转换文档指令。并根据不同的判断结果执行不同的转换操作。
步骤S20,若是,则基于所述文档转换代码指令在预设的多个模板中确定目标模板,并将所述文档转换代码指令对应的目标文档输入至所述目标模板;
当经过判断发现转换指令是文档转换代码指令,则需要先检测该文档转换代码指令是否携带有目标模板信息,即确定根据哪个模板进行文档转换代码的操作。若文档转换代码指令中未携带有目标模板信息,则停止文档转换代码操作,并输出相应的提示信息,以告知用户无法成功转换。但是若文档转换代码指令中携带有目标模板信息,则可以直接在Yapi中预设的多个模板中寻找与目标模板信息匹配的目标模板,并根据文档转换代码指令在Yapi中确定待进行文档转换的目标文档,再将目标文档的结构化数据(如json数据)输入至目标模板,以进行格式转换。
当经过判断发现转换指令是代码转换文档指令,则可以通过代码反向推导出文档的结构化json数据,传输Yapi标准化接口把结构化json数据调用Yapi开发接口存储至数据库,还原成文档展示所需数据,从而完成代码转换文档的过程。
步骤S30,根据所述目标模板中的格式规则对所述目标文档进行格式转换,以获取所述目标文档对应的目标代码。
当目标文档的结构化数据输入至目标模板后,可以根据目标模板中提前设置好的格式规则对目标文档进行格式转换,以得到目标文档对应的目标代码。即根据目标模板解析目标文档的json参数,实现java代码的客制化填充,得到目标代码。也就是在符合Freemaker引擎原则下,定制化目标文档的请求参数对应的请求变量,与返回参数对应的返回变量,并通过目标文档中结构化json数据携带的Key-Value形式的数据,将对应的变量用对应key映射的Value来替换,如确定请求变量对应的请求代码,将请求变量替换为请求代码;并确定返回变量对应的返回代码,将返回变量替换为返回代码,从而实现填充后的成型规范化java代码,即目标代码。其中,FreeMarker是一款模板引擎:即一种基于模板和要改变的数据,并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。
并且需要说明的是,在将目标文档转换成目标代码时,会采用web框架,而web框架有Springboot(MVC/WebFlux),Vert.X等,这些框架的代码层级有着格式约束性规范,如SpringbootMVC为标准的Controller层(Web入口路由)/Service层(业务处理层)/Mapper&Repository层(数据访问层)/DTO&Entity层(数据模型层)等,SpringBootWebFlux和Vert.X等有对应Handler层(web入口路由)等,其框架代码有固定的外层写法。如Controller层固定代码格式如下,其要遵循的约束为:必须以Controller结尾;@RequestMapping必须标准请求路径;每个请求必须注明是GET请求还是POST请求;请求的具体参数要在方法的请求参数中标准化定义出来;必须以@RestController来申明这是一个标准Controller类等。因此可以通过目标模板来进行格式约束,确定web框架的风格约束。
并且Yapi本身存储的数据为Json格式的特定结构化数据,其文档包含了一个Web请求的所有定义,对应定义数据的结构化数据均通过Json数据存放在MongoDB中。也就是Yapi在MongoDB中存储了实际变量数据;而Web框架则提供了对应书写代码的风格约束。因此可以通过合并两部分数据生成特定格式的Java风格代码,从而实现自动化生成代码的功能,即结构化变量数据+格式约束=结构化代码。同理也可以通过结构化代码-格式约束=结构化变量数据来实现还原出结构化Json数据,反向推出MongoDB存储的文档数据,并根据这些数据还原成文档代码。
另外,为辅助理解本实施例中的文档转换代码或代码转换文档的技术原理的理解,下面进行举例说明。
例如,如图4所示,包括开发人员、关注者、intellij IDEA(代码转文档插件)、APIDESIGN-ENGINE(API文档设计管理系统引擎)、MySQL(关系型数据库管理系统)、MongoDB(数据库)、APIDESIGN-WEB(Yapi文档设计管理系统前端)、APIDESIGN-CORE(Yapi文档设计管理系统后台)。在Yapi中,开发人员可以编写API文档,并可以通过代码转文档插件上传文档。而关注者则可以在Yapi中下载文档/代码,并在Yapi中的文档有变更时,会发送文档变更通知到关注者。并且在进行文档转代码或代码转文档时,可以通过API文档设计管理系统引擎进行生成API文档或者是生成代码。因此在通过API文档设计管理系统引擎进行文档的转换操作时,可以根据Freemaker模板(即目标模板)引擎的生成规则进行从结构化json数据到java代码的语法转换,即格式转换。并且在进行格式转换时,可以如图5所示,在Yapi平台中,当生成代码请求时,判断该代码请求是否携带模板信息,若否,则流程终止。若是,检测是否带有匹配json,若否,则流程终止。是,则根据json确定目标文档,并将目标文档输入至模板信息对应的目标模板,检测目标模板是否成功按照FreeMaker规则生成对应的代码,若是,则确定流程成功。若否,则进行流程终止操作。
在本实施例中,通过接收输入的转换指令,并检测所述转换指令是否为文档转换代码指令;若是,则基于所述文档转换代码指令在预设的多个模板中确定目标模板,并将所述文档转换代码指令对应的目标文档输入至所述目标模板;根据所述目标模板中的格式规则对所述目标文档进行格式转换,以获取所述目标文档对应的目标代码。通过在转换指令为文档转换代码指令时,先根据文档转换代码指令确定目标模板,并将目标文档输入至目标模板进行格式转换,以获取目标代码,从而避免了现有技术中无法在平台中直接进行文档转换代码的现象发生,使得文档与代码可以进行相互转换,减少了开发人员对文档的维护成本。
进一步地,基于本发明文档转换方法第一实施例,提出本发明文档转换方法第二实施例。本实施例是本发明第一实施例的步骤S20,将所述文档转换代码指令对应的目标文档输入至所述目标模板的步骤的细化,包括:
步骤a,根据所述文档转换代码指令在预设的多个文档中确定目标文档,并获取所述目标文档的结构化数据,将所述结构化数据输入至所述目标模板。
在本实施例中,在获取到文档转换代码指令时,可以先获取平台中的所有文档(如论文、新闻和歌词等),并根据此文档转换代码指令在这些文档中确定需要进行转换的目标文档。由于在平台中所有文档都是以结构化数据存储在数据库中的,因此需要获取目标温度的结构化数据(如json数据),再将结构化数据输入至目标模板,从而完成将目标文档输入至目标模板的操作。
在本实施例中,通过根据文档转换指令确定目标文档,并将目标文档的结构化数据输入至目标模板进行格式转换,从而保障了目标文档进行格式转换的正常进行。
进一步地,根据所述目标模板中的格式规则对所述目标文档进行格式转换的步骤,包括:
步骤b,获取所述目标文档的所有变量,并依次遍历各所述变量,确定当前遍历的当前变量的当前文档格式;
在本实施例中,在对目标文档进行转换时,可以通过API文档设计管理系统引擎来控制目标模板按照预设的格式规则对目标文档进行格式转换,即先获取目标文档的所有变量,如请求参数对应的请求变量,返回参数对应的返回变量,并确定文档中结构化数据携带的Key-Value形式的数据,将对应的变量用对应key映射的Value来替换。即依次遍历各个变量,并确定当前遍历的当前变量的文档格式(即当前文档格式)。
步骤c,根据所述目标模板中的格式规则确定所述当前文档格式对应的当前代码格式,将所述当前文档格式转换为所述当前代码格式,直至各所述变量遍历完成。
再根据目标模板中提取设置好的格式规则确定当前文档格式对应的代码格式(即当前代码格式),也就是确定关键字对应的代码值,再将当前文档格式转换为当前代码格式,直至各个变量遍历完成,即将所有变量均转换为由各个代码,从而汇总得到目标代码。
在本实施例中,通过遍历目标文档的所有变量,并将当前遍历的当前变量的当前文档格式转换为当前代码格式,直至各个变量遍历完成,从而保障了对目标文档的所有变量的转换。
进一步地,检测所述转换指令是否为文档转换代码指令的步骤之后,包括:
步骤d,若所述转换指令是代码转换文档指令,则确定所述代码转换文档指令对应的初始代码,并根据预设的约束规则将所述初始代码转换为初始文档。
在本实施例中,当经过判断发现转换指令是代码转换指令时,则需要在平台中确定该代码转换指令对应的初始代码,即确定是哪段代码需要转换为文档。并且由于不同类型文档的代码存在不同的格式约束,因此需要确定初始代码的格式约束,即预设的约束规则,再进行相减转换即可以得到相应的文档,即初始文档。即结构化代码-格式约束=结构化变量数据。
在本实施例中,通过在确定转换指令是代码转换文档指令时,先确定初始代码,并根据约束规则将初始代码转换为初始文档,从而保障了将初始代码转换为初始文档的准确性。
进一步地,根据预设的约束规则将所述初始代码转换为初始文档的步骤,包括:
步骤e,检测所述初始代码中是否存在格式转换数据;
在本实施例中,在将初始代码转换为初始文档时,需要检测初始代码中是否存在某一段特殊代码,即格式转换数据,并根据不同的检测结果执行不同的操作。其中,格式转换数据可以如下所示:
@RequestMapping(value="/root/list")
public DeferredResult<ProjectDTO>listAll(String name){
return null;
}
步骤f,若存在,则根据所述格式转换数据确定目标文档格式,并根据预设的约束规则将所述初始代码的格式转换为所述初始文档格式,基于所述初始文档格式确定初始文档。
当经过判断发现初始代码中存在格式转换数据,则可以根据此格式转换数据来确定目标文档格式,如确定value对应的key,再根据预设的约束规则将初始代码的格式转换为初始文档格式,即结构化json数据。并调用Yapi平台原有开放API把对应结构化Json数据存入MongoDB,完成标准数据存储,原Yapi平台即可展示。也就是根据初始文档格式确定初始文档,并在平台中展示初始文档。但是若初始代码中不存在格式转换数据,则输出无法进行代码转换文档的提示信息。
在本实施例中,通过在确定初始代码中存在格式转换数据时,根据格式转换数据确定初始文档格式,并将初始代码的格式转换为初始文档格式,再基于初始文档格式确定初始文档,从而保障了获取到的初始文档的准确性。
进一步地,基于所述文档转换代码指令在预设的多个模板中确定目标模板的步骤,包括:
步骤g,检测所述文档转换代码指令中是否携带有目标模板信息;
在本实施例中,当获取到文档转换代码指令时,还需要检测该文档转换代码指令中是否携带有目标模板信息,并根据不同的检测结果执行不同的操作。
步骤h,若有,则根据所述目标模板信息在预设的多个模板中确定目标模板。
当经过判断发现文档转换代码指令中携带有目标模板信息,则可以确定需要将目标文档转换为目标代码的格式约束,并在平台预设的多个模板中获取和目标模板信息匹配的模板,将其作为目标模板。若文档转换代码指令中未携带有目标模板信息,则停止文档转换代码的操作。
在本实施例中,通过在确定文档转换代码指令中携带有目标模板信息时,根据目标模板信息在预设的多个模板中确定目标模板,从而保障了获取到的目标模板的准确性。
进一步地,根据所述目标模板中的格式规则对所述目标文档进行格式转换的步骤,包括:
步骤k,检测所述目标文档是否按照所述目标模板中的格式规则进行格式转换;
在本实施例中,在进行目标文档转换目标代码时,需要实时检测目标文档是否有按照目标模板中的格式规则进行格式转换,并根据不同的检测结果执行不同的操作。
步骤m,若否,则停止所述目标文档的格式转换,并输出未转换成功的提示信息;若是,则根据所述目标模板中的格式规则对所述目标文档进行格式转换。
当经过判断发现目标文档没有按照目标模板中的格式规则进行格式转换时,则确定目标文档转换出错,停止目标文档转换目标代码的操作,并输出未转换成功的提示信息。但是若目标文档是按照目标模板中的格式规则进行格式转换,则继续进行目标文档的格式转换,直至目标文档已成功转换为目标代码。
在本实施例中,通过在检测到目标文档未按照目标模板中的格式规则进行格式转换时,停止目标文档的格式转换,从而避免了目标文档转换出错的现象发生。
需要说明的是,在本实施例中,在进行目标文档转换为目标代码的过程中,先获取任意一个接口文档的json数据,即获取目标文档的结构化数据,如:
然后再自定义结构化代码模板,即确定目标模板,如:
再将结构化json数据输入至模板,进行逻辑处理,获取最终标准化代码,即目标代码,如:
@RequestMapping(value="/root/list")
public DeferredResult<ProjectDTO>listAll(String name){
return null;
}
并且在本实施例中,在进行代码转换文档时,需要将结构化代码转换为结构化数据,若在代码中存在以下字段:
@RequestMapping(value="/root/list")
public DeferredResult<ProjectDTO>listAll(String name){
return null;
}
则可以根据web的约束规则,反推出结构化数据如下:
本发明还提供一种文档转换装置,参照图3,所述文档转换装置包括:
检测指令A10,用于接收输入的转换指令,并检测所述转换指令是否为文档转换代码指令;
输入模块A20,用于若是,则基于所述文档转换代码指令在预设的多个模板中确定目标模板,并将所述文档转换代码指令对应的目标文档输入至所述目标模板;
格式转换模块A30,用于根据所述目标模板中的格式规则对所述目标文档进行格式转换,以获取所述目标文档对应的目标代码。
可选地,所述输入模块A20,还用于:
根据所述文档转换代码指令在预设的多个文档中确定目标文档,并获取所述目标文档的结构化数据,将所述结构化数据输入至所述目标模板。
可选地,所述格式转换模块A30,还用于:
获取所述目标文档的所有变量,并依次遍历各所述变量,确定当前遍历的当前变量的当前文档格式;
根据所述目标模板中的格式规则确定所述当前文档格式对应的当前代码格式,将所述当前文档格式转换为所述当前代码格式,直至各所述变量遍历完成。
可选地,所述检测指令A10,还用于:
若所述转换指令是代码转换文档指令,则确定所述代码转换文档指令对应的初始代码,并根据预设的约束规则将所述初始代码转换为初始文档。
可选地,所述检测指令A10,还用于:
检测所述初始代码中是否存在格式转换数据;
若存在,则根据所述格式转换数据确定初始文档格式,并根据预设的约束规则将所述初始代码的格式转换为所述初始文档格式,基于所述初始文档格式确定初始文档。
可选地,所述输入模块A20,还用于:
检测所述文档转换代码指令中是否携带有目标模板信息;
若有,则根据所述目标模板信息在预设的多个模板中确定目标模板。
可选地,所述格式转换模块A30,还用于:
检测所述目标文档是否按照所述目标模板中的格式规则进行格式转换;
若否,则停止所述目标文档的格式转换,并输出未转换成功的提示信息;若是,则根据所述目标模板中的格式规则对所述目标文档进行格式转换。
上述各程序单元所执行的方法可参照本发明文档转换方法各个实施例,此处不再赘述。
本发明还提供一种计算机存储介质。
本发明计算机存储介质上存储有文档转换程序,所述文档转换程序被处理器执行时实现如上所述的文档转换方法的步骤。
其中,在所述处理器上运行的文档转换程序被执行时所实现的方法可参照本发明文档转换方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种文档转换方法,其特征在于,所述文档转换方法包括如下步骤:
接收输入的转换指令,并检测所述转换指令是否为文档转换代码指令;
若是,则基于所述文档转换代码指令在预设的多个模板中确定目标模板,并将所述文档转换代码指令对应的目标文档输入至所述目标模板;
根据所述目标模板中的格式规则对所述目标文档进行格式转换,以获取所述目标文档对应的目标代码。
2.如权利要求1所述的文档转换方法,其特征在于,所述将所述文档转换代码指令对应的目标文档输入至所述目标模板的步骤,包括:
根据所述文档转换代码指令在预设的多个文档中确定目标文档,并获取所述目标文档的结构化数据,将所述结构化数据输入至所述目标模板。
3.如权利要求1所述的文档转换方法,其特征在于,所述根据所述目标模板中的格式规则对所述目标文档进行格式转换的步骤,包括:
获取所述目标文档的所有变量,并依次遍历各所述变量,确定当前遍历的当前变量的当前文档格式;
根据所述目标模板中的格式规则确定所述当前文档格式对应的当前代码格式,将所述当前文档格式转换为所述当前代码格式,直至各所述变量遍历完成。
4.如权利要求1所述的文档转换方法,其特征在于,所述检测所述转换指令是否为文档转换代码指令的步骤之后,包括:
若所述转换指令是代码转换文档指令,则确定所述代码转换文档指令对应的初始代码,并根据预设的约束规则将所述初始代码转换为初始文档。
5.如权利要求4所述的文档转换方法,其特征在于,所述根据预设的约束规则将所述初始代码转换为初始文档的步骤,包括:
检测所述初始代码中是否存在格式转换数据;
若存在,则根据所述格式转换数据确定初始文档格式,并根据预设的约束规则将所述初始代码的格式转换为所述初始文档格式,基于所述初始文档格式确定初始文档。
6.如权利要求1所述的文档转换方法,其特征在于,所述基于所述文档转换代码指令在预设的多个模板中确定目标模板的步骤,包括:
检测所述文档转换代码指令中是否携带有目标模板信息;
若有,则根据所述目标模板信息在预设的多个模板中确定目标模板。
7.如权利要求1-6任一项所述的文档转换方法,其特征在于,所述根据所述目标模板中的格式规则对所述目标文档进行格式转换的步骤,包括:
检测所述目标文档是否按照所述目标模板中的格式规则进行格式转换;
若否,则停止所述目标文档的格式转换,并输出未转换成功的提示信息;若是,则根据所述目标模板中的格式规则对所述目标文档进行格式转换。
8.一种文档转换装置,其特征在于,所述文档转换装置包括:
检测指令,用于接收输入的转换指令,并检测所述转换指令是否为文档转换代码指令;
输入模块,用于若是,则基于所述文档转换代码指令在预设的多个模板中确定目标模板,并将所述文档转换代码指令对应的目标文档输入至所述目标模板;
格式转换模块,用于根据所述目标模板中的格式规则对所述目标文档进行格式转换,以获取所述目标文档对应的目标代码。
9.一种文档转换设备,其特征在于,所述文档转换设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的文档转换程序,所述文档转换程序被所述处理器执行时实现如权利要求1至7中任一项所述的文档转换方法的步骤。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有文档转换程序,所述文档转换程序被处理器执行时实现如权利要求1至7中任一项所述的文档转换方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010399936.1A CN111581920A (zh) | 2020-05-12 | 2020-05-12 | 文档转换方法、装置、设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010399936.1A CN111581920A (zh) | 2020-05-12 | 2020-05-12 | 文档转换方法、装置、设备及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111581920A true CN111581920A (zh) | 2020-08-25 |
Family
ID=72120822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010399936.1A Pending CN111581920A (zh) | 2020-05-12 | 2020-05-12 | 文档转换方法、装置、设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111581920A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112306498A (zh) * | 2020-11-13 | 2021-02-02 | 用友网络科技股份有限公司 | 代码生成方法、erp系统和可读存储介质 |
CN112463261A (zh) * | 2020-11-20 | 2021-03-09 | 北京达佳互联信息技术有限公司 | 接口调用方法及装置 |
CN112540862A (zh) * | 2020-12-23 | 2021-03-23 | 东莞市盟大塑化科技有限公司 | 一种接口文档数据生成方法、装置、设备及存储介质 |
CN113778448A (zh) * | 2021-09-18 | 2021-12-10 | 上海中通吉网络技术有限公司 | 基于YApi接口文档自动生成前端页面的方法 |
CN113992765A (zh) * | 2021-12-28 | 2022-01-28 | 北京南天信息工程有限公司 | 一种基于FreeMarker模板引擎的金融报文转换方法及系统 |
CN114493829A (zh) * | 2021-12-27 | 2022-05-13 | 四川新网银行股份有限公司 | 一种风险策略文档输入自动实现效果模拟的方法及系统 |
CN114629807A (zh) * | 2020-12-11 | 2022-06-14 | 中国移动通信集团湖南有限公司 | 工单处理方法、装置及设备 |
CN117034900A (zh) * | 2023-09-27 | 2023-11-10 | 厦门星纵数字科技有限公司 | 一种api代码文件自动生成方法、终端设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105117379A (zh) * | 2015-09-11 | 2015-12-02 | 广州华多网络科技有限公司 | 自动转换程序文本的方法及装置 |
CN109614102A (zh) * | 2018-10-09 | 2019-04-12 | 平安科技(深圳)有限公司 | 代码自动生成方法、装置、电子设备及存储介质 |
CN109710509A (zh) * | 2018-08-20 | 2019-05-03 | 中国平安人寿保险股份有限公司 | 数据检查方法、装置、设备和计算机可读存储介质 |
JP2020046999A (ja) * | 2018-09-19 | 2020-03-26 | 富士ゼロックス株式会社 | データ処理装置、データ処理方法及びデータ処理プログラム |
-
2020
- 2020-05-12 CN CN202010399936.1A patent/CN111581920A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105117379A (zh) * | 2015-09-11 | 2015-12-02 | 广州华多网络科技有限公司 | 自动转换程序文本的方法及装置 |
CN109710509A (zh) * | 2018-08-20 | 2019-05-03 | 中国平安人寿保险股份有限公司 | 数据检查方法、装置、设备和计算机可读存储介质 |
JP2020046999A (ja) * | 2018-09-19 | 2020-03-26 | 富士ゼロックス株式会社 | データ処理装置、データ処理方法及びデータ処理プログラム |
CN109614102A (zh) * | 2018-10-09 | 2019-04-12 | 平安科技(深圳)有限公司 | 代码自动生成方法、装置、电子设备及存储介质 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112306498A (zh) * | 2020-11-13 | 2021-02-02 | 用友网络科技股份有限公司 | 代码生成方法、erp系统和可读存储介质 |
CN112463261A (zh) * | 2020-11-20 | 2021-03-09 | 北京达佳互联信息技术有限公司 | 接口调用方法及装置 |
CN112463261B (zh) * | 2020-11-20 | 2024-06-11 | 北京达佳互联信息技术有限公司 | 接口调用方法、装置、电子设备、介质及产品 |
CN114629807A (zh) * | 2020-12-11 | 2022-06-14 | 中国移动通信集团湖南有限公司 | 工单处理方法、装置及设备 |
CN112540862A (zh) * | 2020-12-23 | 2021-03-23 | 东莞市盟大塑化科技有限公司 | 一种接口文档数据生成方法、装置、设备及存储介质 |
CN113778448A (zh) * | 2021-09-18 | 2021-12-10 | 上海中通吉网络技术有限公司 | 基于YApi接口文档自动生成前端页面的方法 |
CN114493829A (zh) * | 2021-12-27 | 2022-05-13 | 四川新网银行股份有限公司 | 一种风险策略文档输入自动实现效果模拟的方法及系统 |
CN113992765A (zh) * | 2021-12-28 | 2022-01-28 | 北京南天信息工程有限公司 | 一种基于FreeMarker模板引擎的金融报文转换方法及系统 |
CN117034900A (zh) * | 2023-09-27 | 2023-11-10 | 厦门星纵数字科技有限公司 | 一种api代码文件自动生成方法、终端设备及存储介质 |
CN117034900B (zh) * | 2023-09-27 | 2023-12-26 | 厦门星纵数字科技有限公司 | 一种api代码文件自动生成方法、终端设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111581920A (zh) | 文档转换方法、装置、设备及计算机存储介质 | |
US10108535B2 (en) | Web application test script generation to test software functionality | |
US11461542B2 (en) | Providing asynchronous general user interface (GUI) input | |
EP3433732B1 (en) | Converting visual diagrams into code | |
CN107608889B (zh) | 一种测试脚本自动生成方法及系统 | |
CA3050159C (en) | Artificial intelligence (ai) based automatic rule generation | |
CN108984155B (zh) | 数据处理流程设定方法和装置 | |
CN114625353A (zh) | 模型框架代码生成系统及方法 | |
US20160092502A1 (en) | Graphical modeling of database query statements | |
CN113238740B (zh) | 代码生成方法、代码生成装置、存储介质及电子设备 | |
CN111694547A (zh) | 一种基于数据状态变化的自动编码数据处理应用设计工具 | |
CN113535587B (zh) | 目标应用检测方法、装置及计算机设备 | |
US20200150937A1 (en) | Advanced machine learning interfaces | |
JP2018514878A (ja) | 設計仕様書に基づきソフトウェアタイプアプリケーションを表示するコンピュータに実装された方法 | |
CN111026670B (zh) | 测试用例的生成方法、测试用例的生成装置及存储介质 | |
CN110941427A (zh) | 代码生成方法及代码生成器 | |
CN114138244A (zh) | 模型类文件自动生成方法、装置、存储介质及电子设备 | |
US20100275183A1 (en) | Source code auditor with a customized rules builder | |
KR102226463B1 (ko) | 프로세스자동화프로그램과 연동되는 ui/ux솔루션제공서버, 이를 포함하는 프로세스자동화시스템, 이를 이용한 프로세스자동화방법, 및 이를 실행하기 위한 컴퓨터 프로그램 | |
CN114594927A (zh) | 低代码开发方法、装置、系统、服务器及存储介质 | |
US11876756B2 (en) | Graph-based natural language generation for conversational systems | |
CN117420985B (zh) | 一种使用JavaScript封装安卓服务功能的方法 | |
CN113050935A (zh) | 生成混入对象的方法、装置、计算设备及计算机可读存储介质 | |
CN116541020A (zh) | 基于领域模型的代码生成方法、装置、设备、介质及产品 | |
CN116610558A (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 |