CN110908659A - 一种根据接口定义自动生成用户操作界面的方法及系统 - Google Patents
一种根据接口定义自动生成用户操作界面的方法及系统 Download PDFInfo
- Publication number
- CN110908659A CN110908659A CN201911144200.3A CN201911144200A CN110908659A CN 110908659 A CN110908659 A CN 110908659A CN 201911144200 A CN201911144200 A CN 201911144200A CN 110908659 A CN110908659 A CN 110908659A
- Authority
- CN
- China
- Prior art keywords
- interface
- information
- generating
- data packet
- tool
- 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 25
- 238000004573 interface analysis Methods 0.000 claims abstract description 22
- 230000008676 import Effects 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000010354 integration Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 6
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
Images
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
- 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Abstract
本发明公开了一种根据接口定义自动生成用户操作界面的方法及系统,上述方法包括在已实现后端接口的后端项目中引入生成接口文档的工具;为生成接口文档的工具的接口信息添加注解,并形成前端接口数据包;启动后端项目,并获取和解析前端接口数据包,得到接口解析信息;根据接口解析信息生成对应的控件和文字信息,并展示在用户操作界面上。本发明减少了前端界面代码的开发量,并达到了在需要调整前端界面时,无需修改前端界面代码只需调整后端代码的效果。
Description
技术领域
本发明涉及软件界面生成技术领域,特别是涉及一种根据接口定义自动生成用户操作界面的方法及系统。
背景技术
随着移动通信与互联网技术的蓬勃发展,开发人员需要不断开发新的前端页面或者调整已有的前端页面来满足新的业务需要。而很多前端界面简单的平台经常是后端开发人员开发后端的同时也开发前端的代码。但对于不熟悉前端开发的人来说,需要另外掌握前端开发技能来开发前端界面,是一件比较耗时且收益不大的事情。因此如何提供一种自动生成用户操作界面的方法来减少前端代码的开发量成为本领域亟待解决的问题。
发明内容
本发明的目的是提供一种根据接口定义自动生成用户操作界面的方法及系统,以减少前端界面代码的开发量,并达到在需要调整前端界面时,无需修改前端界面代码只需调整后端代码的效果。
为实现上述目的,本发明提供了一种根据接口定义自动生成用户操作界面的方法,所述方法包括:
在已实现后端接口的后端项目中引入生成接口文档的工具;
为所述生成接口文档的工具的接口信息添加注解,并形成前端接口数据包;所述前端接口数据包中的接口信息包括接口功能、接口输入参数和接口返回值;
启动所述后端项目,并获取和解析所述前端接口数据包,得到接口解析信息;
根据所述接口解析信息生成对应的控件和文字信息,并展示在用户操作界面上。
可选的,所述在已实现后端接口的后端项目中引入生成接口文档的工具,具体包括:
在某一个或多个已实现后端接口的后端项目中引入swagger。
可选的,所述为所述生成接口文档的工具的接口信息添加注解,并形成前端接口数据包,具体包括:
在所述生成接口文档的工具添加接口功能的描述信息、接口输入参数信息和接口返回值;
将所述接口信息整合到一json报文中,形成前端接口数据包。
可选的,所述启动所述后端项目,并获取和解析所述前端接口数据包,得到接口解析信息,具体包括:
启动所述后端项目,依据请求获取所述前端接口数据包;
通过所述生成接口文档的工具提供的接口获取所述前端接口数据包中每个接口的接口信息,并汇总所有接口的接口信息传送至前端。
可选的,所述根据所述接口解析信息生成对应的控件和文字信息,并展示在用户操作界面上,具体包括:
根据所述接口解析信息,每一个前端服务对应生成一个前端页面;
在每个前端页面里生成若干个卡片,每个卡片对应一个接口;所述卡片的展示信息为接口功能的描述信息,所述卡片内的内容由接口方式、接口输入参数和接口返回值注解信息决定。
本发明还提供了一种根据接口定义自动生成用户操作界面的系统,所述系统包括:
接口工具引入单元,用于在已实现后端接口的后端项目中引入生成接口文档的工具;
注解配置单元,用于为所述生成接口文档的工具的接口信息添加注解,并形成前端接口数据包;所述前端接口数据包中的接口信息包括接口功能、接口输入参数和接口返回值;
解析单元,用于启动所述后端项目,并获取和解析所述前端接口数据包,得到接口解析信息;
界面生成单元,用于根据所述接口解析信息生成对应的控件和文字信息,并展示在用户操作界面上。
可选的,所述接口工具引入单元具体用于在某一个或多个已实现后端接口的后端项目中引入swagger。
可选的,所述注解配置单元具体包括:
接口信息配置模块,用于在所述生成接口文档的工具添加接口功能的描述信息、接口输入参数信息和接口返回值;
信息整合模块,用于将所述接口信息整合到一json报文中,形成前端接口数据包。
可选的,所述解析单元具体包括:
数据包获取模块,用于启动所述后端项目,依据请求获取所述前端接口数据包;
接口信息获取模块,用于通过所述生成接口文档的工具提供的接口获取所述前端接口数据包中每个接口的接口信息,并汇总所有接口的接口信息传送至前端。
可选的,所述界面生成单元具体包括:
页面生成模块,用于根据所述接口解析信息,每一个前端服务对应生成一个前端页面;
卡片生成模块,用于在每个前端页面里生成若干个卡片,每个卡片对应一个接口;所述卡片的展示信息为接口功能的描述信息,所述卡片内的内容由接口方式、接口输入参数和接口返回值注解信息决定。
根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明提供的根据接口定义自动生成用户操作界面的方法及系统在已实现后端接口的后端项目中引入生成接口文档的工具,并基于该生成接口文档的工具配置好需要生成相应功能的前段接口的接口参数,便可以在前段生成相应功能的界面。因此本发明无需开发前端,只需在后端接口配置好相关接口参数,即可在前端自动生成界面。并且前端界面自适应后端项目中引入的生成接口文档的工具的接口信息配置,需要调整前端界面时,修改后端项目中引入的生成接口文档的工具的接口信息即可,无需重新构建部署,只需刷新界面即可看到最新的界面。
另外,一个前端界面可根据多个后端项目引入的生成接口文档的工具的接口信息生成,不同的后端功能在不同服务开发,但前端界面是同一个,达到功能低耦合又能提供统一入口给用户的效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的根据接口定义自动生成用户操作界面的方法的流程图;
图2为本发明实施例提供的根据接口定义自动生成用户操作界面的系统框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种根据接口定义自动生成用户操作界面的方法及系统,以减少前端界面代码的开发量,并达到在需要调整前端界面时,无需修改前端界面代码只需调整后端代码的效果。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1所示,本实施例提供的根据接口定义自动生成用户操作界面的方法包括:
步骤101:在已实现后端接口的后端项目中引入生成接口文档的工具。
在本实施例中,该步骤101中的生成接口文档的工具为swagger,swagger是一种可以基于代码生成接口文档的工具。
另外,本步骤的的后端项目可以是一个,也可以是多个。当一个前端界面根据多个后端项目引入的生成接口文档的工具的接口信息生成,不同的后端功能在不同服务开发,但前端界面是同一个,达到功能低耦合又能提供统一入口给用户的效果。
步骤102:为生成接口文档的工具的接口信息添加注解,并形成前端接口数据包;所述前端接口数据包中的接口信息包括接口功能、接口输入参数和接口返回值。
步骤102具体包括:
在所述生成接口文档的工具添加接口功能的描述信息、接口输入参数信息和接口返回值;
将所述接口信息整合到一json报文中,形成前端接口数据包.
其中,json是一种轻量级的数据交换格式。在实际应用中,例如可以在接口功能添加“@ApiOperation(value="生成已提现的账号",tags="第三方",notes="确认生成")”,在接口输入参数添加“@ApiModelProperty(notes="使用提现优惠券",allowableValues="不使用,使用",example="不使用")”。
步骤103:启动后端项目,并获取和解析前端接口数据包,得到接口解析信息。
步骤103具体包括:
启动所述后端项目,依据请求获取所述前端接口数据包;
通过所述生成接口文档的工具提供的接口获取所述前端接口数据包中每个接口的接口信息,并汇总所有接口的接口信息传送至前端。
在上述举例中,接口输入参数是通过判断是否具备“allowableValues”来判断接口输入参数是单选框类型还是文本框类型,并通过“example”属性来设置接口输入参数的默认值。
步骤104:根据接口解析信息生成对应的控件和文字信息,并展示在用户操作界面上。
步骤104具体包括:
根据所述接口解析信息,每一个前端服务对应生成一个前端页面;
在每个前端页面里生成若干个卡片,每个卡片对应一个接口;所述卡片的展示信息为接口功能的描述信息,所述卡片内的内容由接口方式、接口输入参数和接口返回值注解信息决定。
在上述举例中,前端页面则生成一个卡片,卡片内根据接口输入参数的注解信息生成不同的控件。如接口输入参数添加了“@ApiModelProperty(notes="使用提现优惠券",allowableValues="不使用,使用",example="不使用")”这样的注解,则会在卡片生成一个单选框,选择项有:“不使用”和“使用”,供用户选择。最后会生成一个供用户点击的按钮,按钮文本为接口方法注解的notes属性值,即显示“确认生成”。
当需要修改前端页面样式时,只需要修改后端项目中引入的生成接口文档的工具的接口方式或接口输入参数的注解信息等接口信息即可。例如,需要将卡片内的单选框改为文本框,只需要修改对应接口的接口输入参数注解,去掉“allowableValues”属性。前端判断无“allowableValues”属性则默认生成文本框控件。
如图2所示,本实施例还提供了一种与上述根据接口定义自动生成用户操作界面方法对应的系统,所述系统包括:
接口工具引入单元201,用于在已实现后端接口的后端项目中引入生成接口文档的工具;
注解配置单元202,用于为所述生成接口文档的工具的接口信息添加注解,并形成前端接口数据包;所述前端接口数据包中的接口信息包括接口功能、接口输入参数和接口返回值;
解析单元203,用于启动所述后端项目,并获取和解析所述前端接口数据包,得到接口解析信息;
界面生成单元204,用于根据所述接口解析信息生成对应的控件和文字信息,并展示在用户操作界面上。
其中,所述接口工具引入单元201具体用于在某一个或多个已实现后端接口的后端项目中引入swagger。
所述注解配置单元202具体包括:
接口信息配置模块,用于在所述生成接口文档的工具添加接口功能的描述信息、接口输入参数信息和接口返回值;
信息整合模块,用于将所述接口信息整合到一json报文中,形成前端接口数据包。
所述解析单元具体203包括:
数据包获取模块,用于启动所述后端项目,依据请求获取所述前端接口数据包;
接口信息获取模块,用于通过所述生成接口文档的工具提供的接口获取所述前端接口数据包中每个接口的接口信息,并汇总所有接口的接口信息传送至前端。
所述界面生成单元204具体包括:
页面生成模块,用于根据所述接口解析信息,每一个前端服务对应生成一个前端页面;
卡片生成模块,用于在每个前端页面里生成若干个卡片,每个卡片对应一个接口;所述卡片的展示信息为接口功能的描述信息,所述卡片内的内容由接口方式、接口输入参数和接口返回值注解信息决定。
对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种根据接口定义自动生成用户操作界面的方法,其特征在于,所述方法包括:
在已实现后端接口的后端项目中引入生成接口文档的工具;
为所述生成接口文档的工具的接口信息添加注解,并形成前端接口数据包;所述前端接口数据包中的接口信息包括接口功能、接口输入参数和接口返回值;
启动所述后端项目,并获取和解析所述前端接口数据包,得到接口解析信息;
根据所述接口解析信息生成对应的控件和文字信息,并展示在用户操作界面上。
2.根据权利要求1所述的根据接口定义自动生成用户操作界面的方法,其特征在于,所述在已实现后端接口的后端项目中引入生成接口文档的工具,具体包括:
在某一个或多个已实现后端接口的后端项目中引入swagger。
3.根据权利要求1所述的根据接口定义自动生成用户操作界面的方法,其特征在于,所述为所述生成接口文档的工具的接口信息添加注解,并形成前端接口数据包,具体包括:
在所述生成接口文档的工具添加接口功能的描述信息、接口输入参数信息和接口返回值;
将所述接口信息整合到一json报文中,形成前端接口数据包。
4.根据权利要求1所述的根据接口定义自动生成用户操作界面的方法,其特征在于,所述启动所述后端项目,并获取和解析所述前端接口数据包,得到接口解析信息,具体包括:
启动所述后端项目,依据请求获取所述前端接口数据包;
通过所述生成接口文档的工具提供的接口获取所述前端接口数据包中每个接口的接口信息,并汇总所有接口的接口信息传送至前端。
5.根据权利要求1所述的根据接口定义自动生成用户操作界面的方法,其特征在于,所述根据所述接口解析信息生成对应的控件和文字信息,并展示在用户操作界面上,具体包括:
根据所述接口解析信息,每一个前端服务对应生成一个前端页面;
在每个前端页面里生成若干个卡片,每个卡片对应一个接口;所述卡片的展示信息为接口功能的描述信息,所述卡片内的内容由接口方式、接口输入参数和接口返回值注解信息决定。
6.一种根据接口定义自动生成用户操作界面的系统,其特征在于,所述系统包括:
接口工具引入单元,用于在已实现后端接口的后端项目中引入生成接口文档的工具;
注解配置单元,用于为所述生成接口文档的工具的接口信息添加注解,并形成前端接口数据包;所述前端接口数据包中的接口信息包括接口功能、接口输入参数和接口返回值;
解析单元,用于启动所述后端项目,并获取和解析所述前端接口数据包,得到接口解析信息;
界面生成单元,用于根据所述接口解析信息生成对应的控件和文字信息,并展示在用户操作界面上。
7.根据权利要求6所述的根据接口定义自动生成用户操作界面的系统,其特征在于,所述接口工具引入单元具体用于在某一个或多个已实现后端接口的后端项目中引入swagger。
8.根据权利要求6所述的根据接口定义自动生成用户操作界面的系统,其特征在于,所述注解配置单元具体包括:
接口信息配置模块,用于在所述生成接口文档的工具添加接口功能的描述信息、接口输入参数信息和接口返回值;
信息整合模块,用于将所述接口信息整合到一json报文中,形成前端接口数据包。
9.根据权利要求6所述的根据接口定义自动生成用户操作界面的系统,其特征在于,所述解析单元具体包括:
数据包获取模块,用于启动所述后端项目,依据请求获取所述前端接口数据包;
接口信息获取模块,用于通过所述生成接口文档的工具提供的接口获取所述前端接口数据包中每个接口的接口信息,并汇总所有接口的接口信息传送至前端。
10.根据权利要求6所述的根据接口定义自动生成用户操作界面的系统,其特征在于,所述界面生成单元具体包括:
页面生成模块,用于根据所述接口解析信息,每一个前端服务对应生成一个前端页面;
卡片生成模块,用于在每个前端页面里生成若干个卡片,每个卡片对应一个接口;所述卡片的展示信息为接口功能的描述信息,所述卡片内的内容由接口方式、接口输入参数和接口返回值注解信息决定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911144200.3A CN110908659A (zh) | 2019-11-20 | 2019-11-20 | 一种根据接口定义自动生成用户操作界面的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911144200.3A CN110908659A (zh) | 2019-11-20 | 2019-11-20 | 一种根据接口定义自动生成用户操作界面的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110908659A true CN110908659A (zh) | 2020-03-24 |
Family
ID=69818389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911144200.3A Pending CN110908659A (zh) | 2019-11-20 | 2019-11-20 | 一种根据接口定义自动生成用户操作界面的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110908659A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111880778A (zh) * | 2020-06-30 | 2020-11-03 | 百度在线网络技术(北京)有限公司 | 接口文档的生成方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090158153A1 (en) * | 2007-12-17 | 2009-06-18 | International Business Machines Corporation | Method, system, and computer program product for generating a front end graphical user interface for a plurality of text based commands |
CN103631783A (zh) * | 2012-08-21 | 2014-03-12 | 百度在线网络技术(北京)有限公司 | 一种前端页面的生成方法及系统 |
WO2015188463A1 (zh) * | 2014-06-11 | 2015-12-17 | 中兴通讯股份有限公司 | Ivr对外接口配置方法及装置、计算机存储介质 |
CN107463376A (zh) * | 2017-07-21 | 2017-12-12 | 珠海牛角科技有限公司 | 基于Javadoc的自动生成后端接口文档的方法及装置 |
CN109799985A (zh) * | 2019-01-23 | 2019-05-24 | 中国银行股份有限公司 | 前端代码生成方法及装置、存储介质及电子设备 |
-
2019
- 2019-11-20 CN CN201911144200.3A patent/CN110908659A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090158153A1 (en) * | 2007-12-17 | 2009-06-18 | International Business Machines Corporation | Method, system, and computer program product for generating a front end graphical user interface for a plurality of text based commands |
CN103631783A (zh) * | 2012-08-21 | 2014-03-12 | 百度在线网络技术(北京)有限公司 | 一种前端页面的生成方法及系统 |
WO2015188463A1 (zh) * | 2014-06-11 | 2015-12-17 | 中兴通讯股份有限公司 | Ivr对外接口配置方法及装置、计算机存储介质 |
CN107463376A (zh) * | 2017-07-21 | 2017-12-12 | 珠海牛角科技有限公司 | 基于Javadoc的自动生成后端接口文档的方法及装置 |
CN109799985A (zh) * | 2019-01-23 | 2019-05-24 | 中国银行股份有限公司 | 前端代码生成方法及装置、存储介质及电子设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111880778A (zh) * | 2020-06-30 | 2020-11-03 | 百度在线网络技术(北京)有限公司 | 接口文档的生成方法、装置、电子设备及存储介质 |
CN111880778B (zh) * | 2020-06-30 | 2023-12-22 | 百度在线网络技术(北京)有限公司 | 接口文档的生成方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109725901B (zh) | 前端代码的开发方法、装置、设备和计算机存储介质 | |
US20220101343A1 (en) | Systems and Methods for Managing Web Content | |
EP3518124A1 (en) | Webpage rendering method and related device | |
CN110889270B (zh) | 一种表单页面文档生成方法、表单页面渲染方法及装置 | |
CN110806863A (zh) | 接口文档生成方法及装置、电子设备、存储介质 | |
CN104731589A (zh) | 用户界面的自动生成方法及自动生成装置 | |
CN110673847A (zh) | 配置页面的生成方法、装置、电子设备和可读存储介质 | |
CN105786207A (zh) | 信息输入方法和装置 | |
CN108170409B (zh) | Web前端控件的开发方法和系统 | |
CN112016290A (zh) | 一种文档自动排版方法、装置、设备及存储介质 | |
US10628526B2 (en) | Providing suggested diagrammatic representations of user entered textual information | |
CN105988814B (zh) | 界面生成方法及装置 | |
CN109766315A (zh) | 文件展示方法及终端、计算机存储介质、计算机设备 | |
CN110908659A (zh) | 一种根据接口定义自动生成用户操作界面的方法及系统 | |
CN107248947B (zh) | 表情处理方法及装置、计算机设备及存储介质 | |
CN107870765B (zh) | 报文拼接方法及终端 | |
CN111951040A (zh) | 信息发送方法及装置、电子设备、存储介质 | |
CN111796808A (zh) | 一种基于DAOTable通用列表组件的实现方法 | |
CN103034990A (zh) | 出版物校验的方法和装置 | |
CN112947900A (zh) | web应用开发方法、装置、服务器及开发终端 | |
CN116069330A (zh) | 中后台模板构建方法、装置和存储介质 | |
CN115904167A (zh) | 网页图标的处理方法、装置、存储介质及电子设备 | |
CN114969603A (zh) | 基于5g消息的图片获取、图片生成方法及系统 | |
CN114637531A (zh) | 应用程序接口动态生成方法及装置 | |
CN114356291A (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 | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20231103 |
|
AD01 | Patent right deemed abandoned |