CN109086046A - 一种基于接口规范文档的前端代码自动生成方法及系统 - Google Patents
一种基于接口规范文档的前端代码自动生成方法及系统 Download PDFInfo
- Publication number
- CN109086046A CN109086046A CN201810869431.XA CN201810869431A CN109086046A CN 109086046 A CN109086046 A CN 109086046A CN 201810869431 A CN201810869431 A CN 201810869431A CN 109086046 A CN109086046 A CN 109086046A
- Authority
- CN
- China
- Prior art keywords
- interface
- code
- data model
- field
- interface element
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种基于接口规范文档的前端代码自动生成方法及系统,所述方法包括:定义接口规范文档,对接口规范文档进行解析,生成计算机程序能够识别的接口数据模型,基于接口数据模型和相应的解析规则,自动生成前端开发所需的基础代码和请求报文。本申请通过定义接口规范,分析接口规范与代码、报文之间的联系和规律,解析接口规范文档的内容生成接口数据模型,然后依据接口数据模型和相应的解析规则,自动生成前端开发需要用到的基础代码和请求报文,大大减少了开发人员的重复性工作,提高了开发效率。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种基于接口规范文档的前端代码自动生成方法及系统。
背景技术
在进行项目开发时,往往需要前端和后端协作开发,前端界面输入数据后,需要调用后端的服务,将输入的数据封装到请求报文中,然后根据后端的返回报文在界面中显示。前端开发人员和后端开发人员需要约定一种接口规范来定义服务报文的格式、前端需要传入哪些字段、后端应该返回哪些字段,前端开发人员通过接口规范文档来确定前端界面元素需要哪些控件以及每个控件输入何种数据。
由此可以看出,进行前端页面开发时,需要根据接口规范文档编写大量前端代码,接口规范文档中定义的请求报文字段需要在界面中进行体现,同时在每次调用后端服务时需要构造请求报文发起服务,人工操作流程非常繁琐。
因此,如何提高生成前端代码的开发效率,是一项亟待解决的问题。
发明内容
有鉴于此,本申请提供了一种基于接口规范文档的前端代码自动生成方法,能够自动生成前端开发需要用到的基础代码和请求报文,大大减少了开发人员的重复性工作,提高了开发效率。
本申请提供了一种基于接口规范文档的前端代码自动生成方法,所述方法包括:
定义接口规范文档;
对所述接口规范文档进行解析,生成计算机程序能够识别的接口数据模型;
基于所述接口数据模型和相应的解析规则,自动生成前端开发所需的基础代码和请求报文。
优选地,所述方法还包括:
预先生成前端代码模板库。
优选地,所述预先生成前端代码模板库包括:
对前端界面元素进行分类,将每一类界面元素的代码进行抽象和封装,生成处理各类界面元素的标准化前端代码模板。
优选地,所述基于所述接口数据模型和相应的解析规则,自动生成前端开发所需的基础代码和请求报文包括:
遍历所述接口数据模型中的每个字段数据项;
通过类型标识与模板标识映射表在所述前端代码模板库中检索出相应的代码模板;
将所述接口数据模型中每个字段的数据信息作为参数传入所述代码模板,形成界面元素控件代码;
将所述界面元素控件代码依次嵌入预先生成的代码基础框架中,形成可编译运行的完整前端代码;
通过当前的界面元素组装成符合接口规范的请求报文。
优选地,所述通过当前的解密元素组装成符合接口规范的请求报文包括:
遍历所述接口数据模型中的所有字段信息,生成服务请求报文基础结构;
遍历各个界面元素控件代码,找到每个界面元素控件代码对应的报文字段;
将界面元素控制代码输入的数据嵌入到对应的报文字段中,生成请求报文。
一种基于接口规范文档的前端代码自动生成系统,包括:
定义模块,用于定义接口规范文档;
第一生成模块,用于对所述接口规范文档进行解析,生成计算机程序能够识别的接口数据模型;
第二生成模块,用于基于所述接口数据模型和相应的解析规则,自动生成前端开发所需的基础代码和请求报文。
优选地,所述系统还包括:
第三生成模块,用于预先生成前端代码模板库。
优选地,所述第三生成模块具体用于:
对前端界面元素进行分类,将每一类界面元素的代码进行抽象和封装,生成处理各类界面元素的标准化前端代码模板。
优选地,所述第二生成模块包括:
遍历单元,用于遍历所述接口数据模型中的每个字段数据项;
检索单元,用于通过类型标识与模板标识映射表在所述前端代码模板库中检索出相应的代码模板;
传入单元,用于将所述接口数据模型中每个字段的数据信息作为参数传入所述代码模板,形成界面元素控件代码;
嵌入单元,用于将所述界面元素控件代码依次嵌入预先生成的代码基础框架中,形成可编译运行的完整前端代码;
组装单元,用于通过当前的界面元素组装成符合接口规范的请求报文。
优选地,所述组装单元包括:
第一遍历子单元,用于遍历所述接口数据模型中的所有字段信息,生成服务请求报文基础结构;
第二遍历子单元,用于遍历各个界面元素控件代码,找到每个界面元素控件代码对应的报文字段;
生成子单元,用于将界面元素控制代码输入的数据嵌入到对应的报文字段中,生成请求报文。
综上所述,本申请公开了一种基于接口规范文档的前端代码自动生成方法,当需要自动生成前端代码时,首先定义接口规范文档,然后对接口规范文档进行解析,生成计算机程序能够识别的接口数据模型,基于接口数据模型和相应的解析规则,自动生成前端开发所需的基础代码和请求报文。本申请通过定义接口规范,分析接口规范与代码、报文之间的联系和规律,解析接口规范文档的内容生成接口数据模型,然后依据接口数据模型和相应的解析规则,自动生成前端开发需要用到的基础代码和请求报文,大大减少了开发人员的重复性工作,提高了开发效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请公开的一种基于接口规范文档的前端代码自动生成方法实施例1的流程图;
图2为本申请公开的一种基于接口规范文档的前端代码自动生成方法实施例2的流程图;
图3为本申请公开的一种基于接口规范文档的前端代码自动生成方法实施例3的流程图;
图4为本申请公开的一种基于接口规范文档的前端代码自动生成系统实施例1的结构示意图;
图5为本申请公开的一种基于接口规范文档的前端代码自动生成系统实施例2的结构示意图;
图6为本申请公开的一种基于接口规范文档的前端代码自动生成系统实施例3的结构示意图;
图7为本申请公开的结构数据模型的结构示意图;
图8为本申请公开的类型标识与模板标识之间的映射关系示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,为本申请公开的一种基于接口规范文档的前端代码自动生成方法实施例1的流程图,本方法可以包括以下步骤:
S101、定义接口规范文档;
当需要自动生成前端代码时,首先定义接口规范文档。前端和后端采取xml的方式传递报文,接口规范范定义了请求及响应报文的字段,字段分为普通字段和组字段,组字段中可能包括一个或多个普通字段,用以传递分组数据。组的数据结构类似于表格,一个组类似于表格中的一行,组中的普通字段类似于表格每一列的表头。接口规范文档编写规范如表1所示;服务号表示前端向后端请求服务的唯一编号;服务名称表示服务的名字;接口中包含对请求报文和响应报文字段的定义,字段分为普通字段和组字段,每个字段需要对字段名称、中文名称、类型、数据项说明、是否必输、数据长度进行定义;字段名称表示字段的代号,只能是英文字符或英文字符加数字;中文名称表示该字段所代表的中文含义;类型表示字段中数据的类型,包括文本类型(TEXT)、列表类型(LIST)、真假类型(BOOL)、浮点数类型(FLOAT)、整数类型(INT)、时间类型(TIME)、分组类型(GROUP);数据项说明针对该字段的取值进行说明,特别是列表类型的字段,需要说明该字段可以选择哪些值;是否必输表示该字段中是否必须填入数据;数据长度表示该字段中填入数据的长度。
表1接口规范文档
表2为本申请实施例公开的一种接口规范文档。
表2接口规范文档实例
S102、对接口规范文档进行解析,生成计算机程序能够识别的接口数据模型;
然后分析接口规范与代码、报文之间的联系和规律,对接口规范文档的内容进行解析,生成能够被计算机程序识别的接口数据模型,接口数据模型的结构如图7所示。该接口数据模型的核心是一个字典数据结构,字段名称作为键,当两个不同的键产生了相同的哈希值时,就会产生碰撞,字段结构中的下一个节点指针指向产生了碰撞的节点。
S103、基于接口数据模型和相应的解析规则,自动生成前端开发所需的基础代码和请求报文。
当生成接口数据模型后,进一步一句接口数据模型和相应的解析规则,自动生成前端开发需要用到的基础代码和请求报文。
综上所述,在上述实施例中,当需要自动生成前端代码时,首先定义接口规范文档,然后对接口规范文档进行解析,生成计算机程序能够识别的接口数据模型,基于接口数据模型和相应的解析规则,自动生成前端开发所需的基础代码和请求报文。本申请通过定义接口规范,分析接口规范与代码、报文之间的联系和规律,解析接口规范文档的内容生成接口数据模型,然后依据接口数据模型和相应的解析规则,自动生成前端开发需要用到的基础代码和请求报文,大大减少了开发人员的重复性工作,提高了开发效率。
如图2所示,为本申请公开的一种基于接口规范文档的前端代码自动生成方法实施例2的流程图,本方法可以包括以下步骤:
S201、对前端界面元素进行分类,将每一类界面元素的代码进行抽象和封装,生成处理各类界面元素的标准化前端代码模板;
当需要自动生成前端代码时,需要预先生成前端代码模板库。该前端代码模板库中主要存储前端代码模板,形成该模板库首先需要对前端界面元素进行分类,将每一类界面元素的代码进行抽象和封装,生成处理各类界面元素的标准化前端代码模板,如文本框代码模板可以生成标准的文本框界面元素,并定义标准的事件处理代码。每类代码模板都有一个模板标识,通过该标识可以唯一的检索到一种模板。接口规范中每个字段都有一个类型标识,该类型标识与模板标识是多对一的关系,通过建立相应的映射表来确定类型标识与模板标识之间的关系,如图8所示,为类型标识与模板标识之间的映射关系。
S202、定义接口规范文档;
S203、对接口规范文档进行解析,生成计算机程序能够识别的接口数据模型;
S204、遍历接口数据模型中的每个字段数据项;
在生成完整的前段代码时,首先判断输入的接口数据模型是否为空,当接口数据模型不为空时,遍历接口数据模型中的每个字段数据项
S205、通过类型标识与模板标识映射表在前端代码模板库中检索出相应的代码模板;
然后通过类型标识与模板标识映射表检索代码模板标识,判断是否检索到代码模板标识,当检索到代码模板标识时,提取出前段代码模板。
S206、将接口数据模型中每个字段的数据信息作为参数传入代码模板,形成界面元素控件代码;
然后解析字段数据中的其他数据,如,输出字段中文名称、输出字段是否必输、输出字段数据长度、输出字段数据项说明,将接口数据模型中每个字段的数据信息作为参数,传入代码模板,形成界面元素控件代码。
S207、将界面元素控件代码依次嵌入预先生成的代码基础框架中,形成可编译运行的完整前端代码;
生成前端代码基础框架,包括一些必要的代码头信息、公共参数定义、界面布局信息以及请求报文组装方法,将所有界面控件代码依次嵌入到基础框架中,形成可便于运行的完整前端代码。
S208、通过当前的界面元素组装成符合接口规范的请求报文。
综上所述,在上述实施例中,当需要自动生成前端代码时,对前端界面元素进行分类,将每一类界面元素的代码进行抽象和封装,生成处理各类界面元素的标准化前端代码模板,定义接口规范文档,对接口规范文档进行解析,生成计算机程序能够识别的接口数据模型,遍历接口数据模型中的每个字段数据项,通过类型标识与模板标识映射表在所述前端代码模板库中检索出相应的代码模板,将接口数据模型中每个字段的数据信息作为参数传入代码模板,形成界面元素控件代码,将界面元素控件代码依次嵌入预先生成的代码基础框架中,形成可编译运行的完整前端代码,通过当前的界面元素组装成符合接口规范的请求报文。本申请通过定义接口规范,分析接口规范与代码、报文之间的联系和规律,解析接口规范文档的内容生成接口数据模型,然后依据接口数据模型和相应的解析规则,自动生成前端开发需要用到的基础代码和请求报文,大大减少了开发人员的重复性工作,提高了开发效率。
如图3所示,为本申请公开的一种基于接口规范文档的前端代码自动生成方法实施例3的流程图,本方法可以包括以下步骤:
S301、对前端界面元素进行分类,将每一类界面元素的代码进行抽象和封装,生成处理各类界面元素的标准化前端代码模板;
S302、定义接口规范文档;
S303、对接口规范文档进行解析,生成计算机程序能够识别的接口数据模型;
S304、遍历接口数据模型中的每个字段数据项;
在生成完整的前段代码时,首先判断输入的接口数据模型是否为空,当接口数据模型不为空时,遍历接口数据模型中的每个字段数据项
S305、通过类型标识与模板标识映射表在前端代码模板库中检索出相应的代码模板;
然后通过类型标识与模板标识映射表检索代码模板标识,判断是否检索到代码模板标识,当检索到代码模板标识时,提取出前段代码模板。
S306、将接口数据模型中每个字段的数据信息作为参数传入代码模板,形成界面元素控件代码;
S307、将界面元素控件代码依次嵌入预先生成的代码基础框架中,形成可编译运行的完整前端代码;
S308、遍历接口数据模型中的所有字段信息,生成服务请求报文基础结构;
在通过当前的解密元素组装成符合接口规范的请求报文时,对接口数据模型中的所有字段信息进行遍历,生成服务请求报文基础结构。
S309、遍历各个界面元素控件代码,找到每个界面元素控件代码对应的报文字段;
然后对各个界面元素控件代码进行遍历,找到每个界面元素控件代码对应的报文字段。
S310、将界面元素控制代码输入的数据嵌入到对应的报文字段中,生成请求报文。
综上所述,本申请与现有技术相比,本申请提高了前端开发人员的开发效率,现有技术在接口规范文档写完后还需要分析接口文档,并根据接口文档中约定的内容去编写大量代码,同时对于请求报文的生成方式也需要根据接口文档的描述去拼接,现在接口文档一旦完成就可以通过本申请生成所有前端基础代码;减少了前端开发人员重复性工作,开发人员不用再反复去针对不同服务去编写模式相似的程序;更加有利于开发流程的标准化,现有技术每个不同的开发人员面对相同的接口文档可能会采用不同的方式编写代码来实现,使得代码五花八门,不易于维护,本申请生成的代码都来源于模板库,代码标准化程度高。
如图4所示,为本申请公开的一种基于接口规范文档的前端代码自动生成系统实施例1的结构示意图,本系统可以包括:
定义模块401,用于定义接口规范文档;
当需要自动生成前端代码时,首先定义接口规范文档。前端和后端采取xml的方式传递报文,接口规范范定义了请求及响应报文的字段,字段分为普通字段和组字段,组字段中可能包括一个或多个普通字段,用以传递分组数据。组的数据结构类似于表格,一个组类似于表格中的一行,组中的普通字段类似于表格每一列的表头。接口规范文档编写规范如表1所示;服务号表示前端向后端请求服务的唯一编号;服务名称表示服务的名字;接口中包含对请求报文和响应报文字段的定义,字段分为普通字段和组字段,每个字段需要对字段名称、中文名称、类型、数据项说明、是否必输、数据长度进行定义;字段名称表示字段的代号,只能是英文字符或英文字符加数字;中文名称表示该字段所代表的中文含义;类型表示字段中数据的类型,包括文本类型(TEXT)、列表类型(LIST)、真假类型(BOOL)、浮点数类型(FLOAT)、整数类型(INT)、时间类型(TIME)、分组类型(GROUP);数据项说明针对该字段的取值进行说明,特别是列表类型的字段,需要说明该字段可以选择哪些值;是否必输表示该字段中是否必须填入数据;数据长度表示该字段中填入数据的长度。
表1接口规范文档
表2为本申请实施例公开的一种接口规范文档。
表2接口规范文档实例
第一生成模块402,用于对接口规范文档进行解析,生成计算机程序能够识别的接口数据模型;
然后分析接口规范与代码、报文之间的联系和规律,对接口规范文档的内容进行解析,生成能够被计算机程序识别的接口数据模型,接口数据模型的结构如图7所示。该接口数据模型的核心是一个字典数据结构,字段名称作为键,当两个不同的键产生了相同的哈希值时,就会产生碰撞,字段结构中的下一个节点指针指向产生了碰撞的节点。
第二生成模块403,用于基于接口数据模型和相应的解析规则,自动生成前端开发所需的基础代码和请求报文。
当生成接口数据模型后,进一步一句接口数据模型和相应的解析规则,自动生成前端开发需要用到的基础代码和请求报文。
综上所述,在上述实施例中,当需要自动生成前端代码时,首先定义接口规范文档,然后对接口规范文档进行解析,生成计算机程序能够识别的接口数据模型,基于接口数据模型和相应的解析规则,自动生成前端开发所需的基础代码和请求报文。本申请通过定义接口规范,分析接口规范与代码、报文之间的联系和规律,解析接口规范文档的内容生成接口数据模型,然后依据接口数据模型和相应的解析规则,自动生成前端开发需要用到的基础代码和请求报文,大大减少了开发人员的重复性工作,提高了开发效率。
如图5所示,为本申请公开的一种基于接口规范文档的前端代码自动生成系统实施例2的结构示意图,本系统可以包括:
第三生成模块501,用于对前端界面元素进行分类,将每一类界面元素的代码进行抽象和封装,生成处理各类界面元素的标准化前端代码模板;
当需要自动生成前端代码时,需要预先生成前端代码模板库。该前端代码模板库中主要存储前端代码模板,形成该模板库首先需要对前端界面元素进行分类,将每一类界面元素的代码进行抽象和封装,生成处理各类界面元素的标准化前端代码模板,如文本框代码模板可以生成标准的文本框界面元素,并定义标准的事件处理代码。每类代码模板都有一个模板标识,通过该标识可以唯一的检索到一种模板。接口规范中每个字段都有一个类型标识,该类型标识与模板标识是多对一的关系,通过建立相应的映射表来确定类型标识与模板标识之间的关系,如图8所示,为类型标识与模板标识之间的映射关系。
定义模块502,用于定义接口规范文档;
第一生成模块503,用于对接口规范文档进行解析,生成计算机程序能够识别的接口数据模型;
遍历单元504,用于遍历接口数据模型中的每个字段数据项;
在生成完整的前段代码时,首先判断输入的接口数据模型是否为空,当接口数据模型不为空时,遍历接口数据模型中的每个字段数据项
检索单元505,用于通过类型标识与模板标识映射表在前端代码模板库中检索出相应的代码模板;
然后通过类型标识与模板标识映射表检索代码模板标识,判断是否检索到代码模板标识,当检索到代码模板标识时,提取出前段代码模板。
传入单元506,用于将接口数据模型中每个字段的数据信息作为参数传入代码模板,形成界面元素控件代码;
然后解析字段数据中的其他数据,如,输出字段中文名称、输出字段是否必输、输出字段数据长度、输出字段数据项说明,将接口数据模型中每个字段的数据信息作为参数,传入代码模板,形成界面元素控件代码。
嵌入单元507,用于将界面元素控件代码依次嵌入预先生成的代码基础框架中,形成可编译运行的完整前端代码;
生成前端代码基础框架,包括一些必要的代码头信息、公共参数定义、界面布局信息以及请求报文组装方法,将所有界面控件代码依次嵌入到基础框架中,形成可便于运行的完整前端代码。
组装单元508,用于通过当前的界面元素组装成符合接口规范的请求报文。
综上所述,在上述实施例中,当需要自动生成前端代码时,对前端界面元素进行分类,将每一类界面元素的代码进行抽象和封装,生成处理各类界面元素的标准化前端代码模板,定义接口规范文档,对接口规范文档进行解析,生成计算机程序能够识别的接口数据模型,遍历接口数据模型中的每个字段数据项,通过类型标识与模板标识映射表在所述前端代码模板库中检索出相应的代码模板,将接口数据模型中每个字段的数据信息作为参数传入代码模板,形成界面元素控件代码,将界面元素控件代码依次嵌入预先生成的代码基础框架中,形成可编译运行的完整前端代码,通过当前的界面元素组装成符合接口规范的请求报文。本申请通过定义接口规范,分析接口规范与代码、报文之间的联系和规律,解析接口规范文档的内容生成接口数据模型,然后依据接口数据模型和相应的解析规则,自动生成前端开发需要用到的基础代码和请求报文,大大减少了开发人员的重复性工作,提高了开发效率。
如图6所示,为本申请公开的一种基于接口规范文档的前端代码自动生成系统实施例3的结构示意图,本系统可以包括:
第三生成模块601,用于对前端界面元素进行分类,将每一类界面元素的代码进行抽象和封装,生成处理各类界面元素的标准化前端代码模板;
定义模块602,用于定义接口规范文档;
第一生成模块603,用于对接口规范文档进行解析,生成计算机程序能够识别的接口数据模型;
遍历单元604,用于遍历接口数据模型中的每个字段数据项;
在生成完整的前段代码时,首先判断输入的接口数据模型是否为空,当接口数据模型不为空时,遍历接口数据模型中的每个字段数据项
检索单元605,用于通过类型标识与模板标识映射表在前端代码模板库中检索出相应的代码模板;
然后通过类型标识与模板标识映射表检索代码模板标识,判断是否检索到代码模板标识,当检索到代码模板标识时,提取出前段代码模板。
传入单元606,用于将接口数据模型中每个字段的数据信息作为参数传入代码模板,形成界面元素控件代码;
嵌入单元607,用于将界面元素控件代码依次嵌入预先生成的代码基础框架中,形成可编译运行的完整前端代码;
第一遍历子单元608,用于遍历接口数据模型中的所有字段信息,生成服务请求报文基础结构;
在通过当前的解密元素组装成符合接口规范的请求报文时,对接口数据模型中的所有字段信息进行遍历,生成服务请求报文基础结构。
第二遍历子单元609,用于遍历各个界面元素控件代码,找到每个界面元素控件代码对应的报文字段;
然后对各个界面元素控件代码进行遍历,找到每个界面元素控件代码对应的报文字段。
生成子单元610,用于将界面元素控制代码输入的数据嵌入到对应的报文字段中,生成请求报文。
综上所述,本申请与现有技术相比,本申请提高了前端开发人员的开发效率,现有技术在接口规范文档写完后还需要分析接口文档,并根据接口文档中约定的内容去编写大量代码,同时对于请求报文的生成方式也需要根据接口文档的描述去拼接,现在接口文档一旦完成就可以通过本申请生成所有前端基础代码;减少了前端开发人员重复性工作,开发人员不用再反复去针对不同服务去编写模式相似的程序;更加有利于开发流程的标准化,现有技术每个不同的开发人员面对相同的接口文档可能会采用不同的方式编写代码来实现,使得代码五花八门,不易于维护,本申请生成的代码都来源于模板库,代码标准化程度高。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于接口规范文档的前端代码自动生成方法,其特征在于,所述方法包括:
定义接口规范文档;
对所述接口规范文档进行解析,生成计算机程序能够识别的接口数据模型;
基于所述接口数据模型和相应的解析规则,自动生成前端开发所需的基础代码和请求报文。
2.根据权利要求1所述的方法,其特征在于,还包括:
预先生成前端代码模板库。
3.根据权利要求2所述的方法,其特征在于,所述预先生成前端代码模板库包括:
对前端界面元素进行分类,将每一类界面元素的代码进行抽象和封装,生成处理各类界面元素的标准化前端代码模板。
4.根据权利要求3所述的方法,其特征在于,所述基于所述接口数据模型和相应的解析规则,自动生成前端开发所需的基础代码和请求报文包括:
遍历所述接口数据模型中的每个字段数据项;
通过类型标识与模板标识映射表在所述前端代码模板库中检索出相应的代码模板;
将所述接口数据模型中每个字段的数据信息作为参数传入所述代码模板,形成界面元素控件代码;
将所述界面元素控件代码依次嵌入预先生成的代码基础框架中,形成可编译运行的完整前端代码;
通过当前的界面元素组装成符合接口规范的请求报文。
5.根据权利要求4所述的方法,其特征在于,所述通过当前的解密元素组装成符合接口规范的请求报文包括:
遍历所述接口数据模型中的所有字段信息,生成服务请求报文基础结构;
遍历各个界面元素控件代码,找到每个界面元素控件代码对应的报文字段;
将界面元素控制代码输入的数据嵌入到对应的报文字段中,生成请求报文。
6.一种基于接口规范文档的前端代码自动生成系统,其特征在于,包括:
定义模块,用于定义接口规范文档;
第一生成模块,用于对所述接口规范文档进行解析,生成计算机程序能够识别的接口数据模型;
第二生成模块,用于基于所述接口数据模型和相应的解析规则,自动生成前端开发所需的基础代码和请求报文。
7.根据权利要求6所述的系统,其特征在于,还包括:
第三生成模块,用于预先生成前端代码模板库。
8.根据权利要求7所述的系统,其特征在于,所述第三生成模块具体用于:
对前端界面元素进行分类,将每一类界面元素的代码进行抽象和封装,生成处理各类界面元素的标准化前端代码模板。
9.根据权利要求8所述的系统,其特征在于,所述第二生成模块包括:
遍历单元,用于遍历所述接口数据模型中的每个字段数据项;
检索单元,用于通过类型标识与模板标识映射表在所述前端代码模板库中检索出相应的代码模板;
传入单元,用于将所述接口数据模型中每个字段的数据信息作为参数传入所述代码模板,形成界面元素控件代码;
嵌入单元,用于将所述界面元素控件代码依次嵌入预先生成的代码基础框架中,形成可编译运行的完整前端代码;
组装单元,用于通过当前的界面元素组装成符合接口规范的请求报文。
10.根据权利要求9所述的系统,其特征在于,所述组装单元包括:
第一遍历子单元,用于遍历所述接口数据模型中的所有字段信息,生成服务请求报文基础结构;
第二遍历子单元,用于遍历各个界面元素控件代码,找到每个界面元素控件代码对应的报文字段;
生成子单元,用于将界面元素控制代码输入的数据嵌入到对应的报文字段中,生成请求报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810869431.XA CN109086046A (zh) | 2018-08-02 | 2018-08-02 | 一种基于接口规范文档的前端代码自动生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810869431.XA CN109086046A (zh) | 2018-08-02 | 2018-08-02 | 一种基于接口规范文档的前端代码自动生成方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109086046A true CN109086046A (zh) | 2018-12-25 |
Family
ID=64833719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810869431.XA Pending CN109086046A (zh) | 2018-08-02 | 2018-08-02 | 一种基于接口规范文档的前端代码自动生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109086046A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109799985A (zh) * | 2019-01-23 | 2019-05-24 | 中国银行股份有限公司 | 前端代码生成方法及装置、存储介质及电子设备 |
CN109947431A (zh) * | 2019-03-28 | 2019-06-28 | 北京字节跳动网络技术有限公司 | 一种代码生成方法、装置、设备及存储介质 |
CN110515608A (zh) * | 2019-08-30 | 2019-11-29 | 网易(杭州)网络有限公司 | 一种接口代码的生成方法及装置、电子设备、存储介质 |
CN110688180A (zh) * | 2019-09-03 | 2020-01-14 | 无锡华云数据技术服务有限公司 | 前端系统、前端数据流控制方法、电子设备及存储介质 |
CN110806945A (zh) * | 2019-11-05 | 2020-02-18 | 浪潮云信息技术有限公司 | 接口对接方法、装置和计算机可读介质 |
CN111026394A (zh) * | 2019-12-06 | 2020-04-17 | 光大兴陇信托有限责任公司 | 一种利用自助对接平台进行流程对接的方法 |
CN111324342A (zh) * | 2020-02-10 | 2020-06-23 | 北京字节跳动网络技术有限公司 | 一种生成接口层代码的方法、装置、介质和电子设备 |
CN111459466A (zh) * | 2020-03-31 | 2020-07-28 | 广州酷狗计算机科技有限公司 | 代码生成方法、装置、设备及存储介质 |
CN111614604A (zh) * | 2019-02-26 | 2020-09-01 | 阿里巴巴集团控股有限公司 | 一种代码文件生成方法和装置 |
CN111880778A (zh) * | 2020-06-30 | 2020-11-03 | 百度在线网络技术(北京)有限公司 | 接口文档的生成方法、装置、电子设备及存储介质 |
CN112463261A (zh) * | 2020-11-20 | 2021-03-09 | 北京达佳互联信息技术有限公司 | 接口调用方法及装置 |
CN112988132A (zh) * | 2021-02-25 | 2021-06-18 | 平安科技(深圳)有限公司 | 数据接口的自动生成方法、装置、计算机设备及存储介质 |
CN113268306A (zh) * | 2021-06-08 | 2021-08-17 | 金蝶软件(中国)有限公司 | 简历解析接口调用方法、装置及计算机存储介质 |
CN114816387A (zh) * | 2022-04-24 | 2022-07-29 | 马上消费金融股份有限公司 | 实体类生成方法及装置 |
CN115438524A (zh) * | 2022-11-09 | 2022-12-06 | 北京蓝天航空科技股份有限公司 | 代码生成方法、装置、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7467233B2 (en) * | 2002-07-30 | 2008-12-16 | Akamai Technologies, Inc. | Edge side components and application programming environment for building and delivering highly distributed heterogenous component-based web applications |
US7716360B2 (en) * | 2005-09-21 | 2010-05-11 | Sap Ag | Transport binding for a web services message processing runtime framework |
CN101771701A (zh) * | 2010-01-04 | 2010-07-07 | 北京航空航天大学 | Web服务客户端自动化生成方法和装置 |
CN105786505A (zh) * | 2016-02-26 | 2016-07-20 | 上海全成通信技术有限公司 | 一种基于json的复杂web页面组件自定义方法及装置 |
CN107273116A (zh) * | 2017-05-22 | 2017-10-20 | 互联天下科技发展(深圳)有限公司 | 采用基于框架的代码生成工具生产代码的方法 |
CN107797933A (zh) * | 2017-11-22 | 2018-03-13 | 中国银行股份有限公司 | 生成模拟报文的方法及装置 |
CN108075929A (zh) * | 2017-12-28 | 2018-05-25 | 北京中船信息科技有限公司 | 集成接口配试模拟器以及模拟方法 |
CN108153520A (zh) * | 2018-03-20 | 2018-06-12 | 上海屹通信息科技发展有限公司 | 软件开发方法及装置 |
-
2018
- 2018-08-02 CN CN201810869431.XA patent/CN109086046A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7467233B2 (en) * | 2002-07-30 | 2008-12-16 | Akamai Technologies, Inc. | Edge side components and application programming environment for building and delivering highly distributed heterogenous component-based web applications |
US7716360B2 (en) * | 2005-09-21 | 2010-05-11 | Sap Ag | Transport binding for a web services message processing runtime framework |
CN101771701A (zh) * | 2010-01-04 | 2010-07-07 | 北京航空航天大学 | Web服务客户端自动化生成方法和装置 |
CN105786505A (zh) * | 2016-02-26 | 2016-07-20 | 上海全成通信技术有限公司 | 一种基于json的复杂web页面组件自定义方法及装置 |
CN107273116A (zh) * | 2017-05-22 | 2017-10-20 | 互联天下科技发展(深圳)有限公司 | 采用基于框架的代码生成工具生产代码的方法 |
CN107797933A (zh) * | 2017-11-22 | 2018-03-13 | 中国银行股份有限公司 | 生成模拟报文的方法及装置 |
CN108075929A (zh) * | 2017-12-28 | 2018-05-25 | 北京中船信息科技有限公司 | 集成接口配试模拟器以及模拟方法 |
CN108153520A (zh) * | 2018-03-20 | 2018-06-12 | 上海屹通信息科技发展有限公司 | 软件开发方法及装置 |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109799985A (zh) * | 2019-01-23 | 2019-05-24 | 中国银行股份有限公司 | 前端代码生成方法及装置、存储介质及电子设备 |
CN109799985B (zh) * | 2019-01-23 | 2022-06-03 | 中国银行股份有限公司 | 前端代码生成方法及装置、存储介质及电子设备 |
CN111614604B (zh) * | 2019-02-26 | 2022-06-14 | 阿里巴巴集团控股有限公司 | 一种代码文件生成方法和装置 |
CN111614604A (zh) * | 2019-02-26 | 2020-09-01 | 阿里巴巴集团控股有限公司 | 一种代码文件生成方法和装置 |
CN109947431B (zh) * | 2019-03-28 | 2022-09-16 | 北京字节跳动网络技术有限公司 | 一种代码生成方法、装置、设备及存储介质 |
CN109947431A (zh) * | 2019-03-28 | 2019-06-28 | 北京字节跳动网络技术有限公司 | 一种代码生成方法、装置、设备及存储介质 |
CN110515608A (zh) * | 2019-08-30 | 2019-11-29 | 网易(杭州)网络有限公司 | 一种接口代码的生成方法及装置、电子设备、存储介质 |
CN110688180A (zh) * | 2019-09-03 | 2020-01-14 | 无锡华云数据技术服务有限公司 | 前端系统、前端数据流控制方法、电子设备及存储介质 |
CN110688180B (zh) * | 2019-09-03 | 2021-05-11 | 华云数据控股集团有限公司 | 前端系统、前端数据流控制方法、电子设备及存储介质 |
CN110806945A (zh) * | 2019-11-05 | 2020-02-18 | 浪潮云信息技术有限公司 | 接口对接方法、装置和计算机可读介质 |
CN110806945B (zh) * | 2019-11-05 | 2022-03-22 | 浪潮云信息技术股份公司 | 接口对接方法、装置和计算机可读介质 |
CN111026394A (zh) * | 2019-12-06 | 2020-04-17 | 光大兴陇信托有限责任公司 | 一种利用自助对接平台进行流程对接的方法 |
CN111026394B (zh) * | 2019-12-06 | 2020-12-15 | 光大兴陇信托有限责任公司 | 一种利用自助对接平台进行流程对接的方法 |
CN111324342A (zh) * | 2020-02-10 | 2020-06-23 | 北京字节跳动网络技术有限公司 | 一种生成接口层代码的方法、装置、介质和电子设备 |
CN111324342B (zh) * | 2020-02-10 | 2023-04-07 | 北京字节跳动网络技术有限公司 | 一种生成接口层代码的方法、装置、介质和电子设备 |
CN111459466A (zh) * | 2020-03-31 | 2020-07-28 | 广州酷狗计算机科技有限公司 | 代码生成方法、装置、设备及存储介质 |
CN111459466B (zh) * | 2020-03-31 | 2023-10-20 | 广州酷狗计算机科技有限公司 | 代码生成方法、装置、设备及存储介质 |
CN111880778A (zh) * | 2020-06-30 | 2020-11-03 | 百度在线网络技术(北京)有限公司 | 接口文档的生成方法、装置、电子设备及存储介质 |
CN111880778B (zh) * | 2020-06-30 | 2023-12-22 | 百度在线网络技术(北京)有限公司 | 接口文档的生成方法、装置、电子设备及存储介质 |
CN112463261A (zh) * | 2020-11-20 | 2021-03-09 | 北京达佳互联信息技术有限公司 | 接口调用方法及装置 |
CN112463261B (zh) * | 2020-11-20 | 2024-06-11 | 北京达佳互联信息技术有限公司 | 接口调用方法、装置、电子设备、介质及产品 |
CN112988132A (zh) * | 2021-02-25 | 2021-06-18 | 平安科技(深圳)有限公司 | 数据接口的自动生成方法、装置、计算机设备及存储介质 |
CN113268306A (zh) * | 2021-06-08 | 2021-08-17 | 金蝶软件(中国)有限公司 | 简历解析接口调用方法、装置及计算机存储介质 |
CN113268306B (zh) * | 2021-06-08 | 2024-03-19 | 金蝶软件(中国)有限公司 | 简历解析接口调用方法、装置及计算机存储介质 |
CN114816387A (zh) * | 2022-04-24 | 2022-07-29 | 马上消费金融股份有限公司 | 实体类生成方法及装置 |
CN115438524A (zh) * | 2022-11-09 | 2022-12-06 | 北京蓝天航空科技股份有限公司 | 代码生成方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109086046A (zh) | 一种基于接口规范文档的前端代码自动生成方法及系统 | |
CN1606004B (zh) | 从文本标识语义结构的方法和装置 | |
RU2358311C2 (ru) | Документ текстовой обработки, хранящийся в едином файле xml, которым могут манипулировать приложения, понимающие язык xml | |
US7680333B2 (en) | System and method for binary persistence format for a recognition result lattice | |
US6675355B1 (en) | Redline extensible markup language (XML) schema | |
US7114123B2 (en) | User controllable data grouping in structural document translation | |
CN111767057B (zh) | 一种数据处理方法及装置 | |
US20050144556A1 (en) | XML schema token extension for XML document compression | |
US20040117739A1 (en) | Generating rules to convert HTML tables to prose | |
US20020103835A1 (en) | Methods and apparatus for constructing semantic models for document authoring | |
TWI262439B (en) | Strategy for dynamically modeling ASN.1 data to an object model | |
CN106776515A (zh) | 数据处理的方法及装置 | |
CN1979472A (zh) | 文档处理系统 | |
CN109857389A (zh) | 模型数据生成方法、装置、计算机设备及存储介质 | |
US7810024B1 (en) | Efficient access to text-based linearized graph data | |
Castan et al. | Extensible markup language (XML) for music applications: An introduction | |
Zhao et al. | A Graph‐Based Method for IFC Data Merging | |
CN108008947A (zh) | 一种编程语句的智能提示方法、装置、服务器及存储介质 | |
CN102043769A (zh) | 单据编辑方法和装置 | |
KR102126342B1 (ko) | 접근성 태그를 이용하여 표와 서식이 포함된 전자문서를 점자로 변환하는 점자 변환방법 | |
US7716653B2 (en) | Configurable importers and resource writers for converting data into another format | |
CN113971044A (zh) | 组件文档生成方法、装置、设备及可读存储介质 | |
US8719693B2 (en) | Method for storing localized XML document values | |
CN114238654A (zh) | 一种知识图谱的构建方法、装置和计算机可读存储介质 | |
CN111680516A (zh) | Pdm系统产品设计需求信息语义分析提取方法及系统 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181225 |
|
RJ01 | Rejection of invention patent application after publication |