首页 / 专利库 / 专利权 / 申请 / 国际申请 / 说明书 / 本技术领域的技术人员 / 接口代码生成方法及终端设备

接口代码生成方法及终端设备

阅读:374发布:2023-01-24

专利汇可以提供接口代码生成方法及终端设备专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种 接口 代码生成方法及终端设备,适用于计算机技术领域,该方法包括:基于预先定义的接口结构,在 数据库 中建立与接口结构对应的接口字段;将接口字段通过报表生成工具导出,以生成报表文档,在报表文档中接收用户发出的接口字段 修改 指令,对报表文档进行接口字段修改;导入修改后的报表文档,并根据修改后的报表文档,对数据库中的接口字段进行更新;将更新后的接口字段填充至代码模板,以使生成与接口字段相匹配的接口代码。本发明使得开发人员无须受到 可视化 工具的限制,能够灵活地在报表文档中随时录入并修改接口字段,提高了接口字段的维护效率;本发明中,定义好的接口文档能直接同步到代码中使用,提高了开发人员的开发效率。,下面是接口代码生成方法及终端设备专利的具体信息内容。

1.一种接口代码生成方法,其特征在于,包括:
基于预先定义的接口结构,在数据库中建立与所述接口结构对应的接口字段;
基于JXLS框架将所述数据库中的各所述接口字段作为一个java实体类,并将java实体类导出生成报表文档,在所述报表文档中接收用户发出的接口字段修改指令,对所述报表文档进行接口字段修改;
基于JXLS框架将修改后的所述报表文档导入至指定的存储路径,并根据修改后的所述报表文档,对所述数据库中的接口字段进行更新;
对所述数据库中更新后的接口字段对应的数据表生成对应的xml文件,所述xml文件中包含有对各接口字段的标签;
调用Velocity模板引擎中的ant任务Anakia对所述xml文件进行读取,将所述xml文件中各接口字段填充至Velocity模板中,并将Velocity模板中的接口字段传进Java工程文件,生成与更新后的接口字段相匹配的接口代码。
2.如权利要求1所述的接口代码生成方法,其特征在于,还包括:
将所述接口代码进行存储,以得到代码文件,并生成所述代码文件的版本号;
对所述代码文件的版本号进行展示。
3.如权利要求1或2所述的接口代码生成方法,其特征在于,所述导入修改后的所述报表文档,并根据修改后的所述报表文档,对所述数据库中的接口字段进行更新,包括:
若同一时刻导入两个以上修改后的所述报表文档,则发出冲突告警提示,并在接收到报表文档合并指令时,将所述两个以上修改后的所述报表文档进行合并处理;
根据合并后得到的报表文档,对所述数据库中的接口字段进行更新。
4.如权利要求1所述的接口代码生成方法,其特征在于,还包括:
当接收到用户发出基于所述接口代码的调用指令时,获取所述用户的账号权限;
若所述账号权限为第一权限,则拒绝响应所述调用指令;
若所述账号权限为第二权限,则对所述调用指令进行响应。
5.如权利要求4所述的接口代码生成方法,其特征在于,所述第二权限包括查看权限、部分管理权限以及管理权限,所述若所述账号权限为第二权限,则对所述调用指令进行响应,包括:
若所述账号权限为所述查看权限,则对接口信息查看指令进行响应;
若所述账号权限为部分管理权限,则对接口信息查看指令以及接口信息管理指令进行响应;
若所述账号权限为管理权限,则对接口信息查看指令、接口信息管理指令以及项目信息管理指令进行响应。
6.一种终端设备,其特征在于,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的接口代码生成程序,所述处理器执行所述接口代码生成程序时实现如下步骤:
基于预先定义的接口结构,在数据库中建立与所述接口结构对应的接口字段;
基于JXLS框架将所述数据库中的各所述接口字段作为一个java实体类,并将java实体类导出生成报表文档,在所述报表文档中接收用户发出的接口字段修改指令,对所述报表文档进行接口字段修改;
基于JXLS框架将修改后的所述报表文档导入至指定的存储路径 ,并根据修改后的所述报表文档,对所述数据库中的接口字段进行更新;
对所述数据库中更新后的接口字段对应的数据表生成对应的xml文件,所述xml文件中包含有对各接口字段的标签;
调用Velocity模板引擎中的ant任务Anakia对所述xml文件进行读取,将所述xml文件中各接口字段填充至Velocity模板中,并将Velocity模板中的接口字段传进Java工程文件,生成与更新后的接口字段相匹配的接口代码。
7.如权利要求6所述的终端设备,其特征在于,所述处理器执行所述接口代码生成程序时,还实现如下步骤:
将所述接口代码进行存储,以得到代码文件,并生成所述代码文件的版本号;
对所述代码文件的版本号进行展示。
8.如权利要求6所述的终端设备,其特征在于,所述导入修改后的所述报表文档,并根据修改后的所述报表文档,对所述数据库中的接口字段进行更新的步骤,具体包括:
若同一时刻导入两个以上修改后的所述报表文档,则发出冲突告警提示,并在接收到报表文档合并指令时,将所述两个以上修改后的所述报表文档进行合并处理;
根据合并后得到的报表文档,对所述数据库中的接口字段进行更新。
9.如权利要求6所述的终端设备,其特征在于,所述处理器执行所述接口代码生成程序时,还实现如下步骤:
当接收到用户发出基于所述接口代码的调用指令时,获取所述用户的账号权限;
若所述账号权限为第一权限,则拒绝响应所述调用指令;
若所述账号权限为第二权限,则对所述调用指令进行响应。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有接口代码生成程序,其特征在于,所述接口代码生成程序被至少一个处理器执行时,实现如权利要求1-5中任一项所述的接口代码生成方法的步骤。

说明书全文

接口代码生成方法及终端设备

技术领域

[0001] 本发明属于计算机技术领域,尤其涉及一种接口代码生成方法及终端设备。

背景技术

[0002] 在前后端分离的WEB开发模式中,开发人员通常需要定义接口文档来规范其接口形式,如接口地址、参数、类型、含义等。为了使开发人员能够更为高效地管理接口文档,各种API管理工具应运而生。在利用API管理工具所特定提供的可视化工具录入并维护接口文档后,通过分析接口文档对应的接口结构,除了能够自动生成可重复利用的Mock数据之外,还可以自动校验真实接口的正确性,因此,API管理工具的出现,在一定程度上提高了开发人员的开发效率。
[0003] 然而,开发人员虽然能通过API管理工具所特定提供的可视化工具录入并维护接口文档,但定义好的接口文档却无法直接同步到代码中使用,因而难以再进一步地提高开发效率。

发明内容

[0004] 有鉴于此,本发明实施例提供了一种接口代码生成方法及终端设备,以解决现有技术中定义好的接口文档无法直接同步到代码中使用,因而难以进一步地提高开发人员的开发效率的问题。
[0005] 本发明实施例的第一方面提供了一种接口代码生成方法,包括:
[0006] 基于预先定义的接口结构,在数据库中建立与所述接口结构对应的接口字段;
[0007] 将所述接口字段通过报表生成工具导出,以生成报表文档,在所述报表文档中接收用户发出的接口字段修改指令,对所述报表文档进行接口字段修改;
[0008] 导入修改后的所述报表文档,并根据修改后的所述报表文档,对所述数据库中的接口字段进行更新;
[0009] 将更新后的所述接口字段填充至代码模板,以使所述代码模板生成与更新后的所述接口字段相匹配的接口代码。
[0010] 本发明实施例的第二方面提供了一种接口代码生成装置,包括:
[0011] 维护模,用于基于预先定义的接口结构,在数据库中建立与所述接口结构对应的接口字段;
[0012] 导出模块,用于将所述接口字段通过报表生成工具导出,以生成报表文档,在所述报表文档中接收用户发出的接口字段修改指令,对所述报表文档进行接口字段修改;
[0013] 更新模块,用于导入修改后的所述报表文档,并根据修改后的所述报表文档,对所述数据库中的接口字段进行更新;
[0014] 第一生成模块,用于将更新后的所述接口字段填充至代码模板,以使所述代码模板生成与更新后的所述接口字段相匹配的接口代码。
[0015] 本发明实施例的第三方面提供了一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的接口代码生成程序,所述处理器执行所述接口代码生成程序时实现如下步骤:
[0016] 基于预先定义的接口结构,在数据库中建立与所述接口结构对应的接口字段;
[0017] 将所述接口字段通过报表生成工具导出,以生成报表文档,在所述报表文档中接收用户发出的接口字段修改指令,对所述报表文档进行接口字段修改;
[0018] 导入修改后的所述报表文档,并根据修改后的所述报表文档,对所述数据库中的接口字段进行更新;
[0019] 将更新后的所述接口字段填充至代码模板,以使所述代码模板生成与更新后的所述接口字段相匹配的接口代码。
[0020] 本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有接口代码生成程序,所述接口代码生成程序被至少一个处理器执行时,实现如下步骤:
[0021] 基于预先定义的接口结构,在数据库中建立与所述接口结构对应的接口字段;
[0022] 将所述接口字段通过报表生成工具导出,以生成报表文档,在所述报表文档中接收用户发出的接口字段修改指令,对所述报表文档进行接口字段修改;
[0023] 导入修改后的所述报表文档,并根据修改后的所述报表文档,对所述数据库中的接口字段进行更新;
[0024] 将更新后的所述接口字段填充至代码模板,以使所述代码模板生成与更新后的所述接口字段相匹配的接口代码。
[0025] 本发明实施例中,通过将接口字段导出以生成报表文档,对用户修改后的报表文档进行导入,并根据报表文档中用户所修改的接口字段,在数据库中实现接口字段的同步更新,使得开发人员无须受到API管理工具所特定提供的可视化工具的限制,能够灵活地在报表文档中随时录入并修改接口字段,提高了数据库中接口字段的维护效率;通过将报表文档中的接口字段填充至代码模板中,能够利用代码模板自动生成接口代码,保证了定义好的接口文档能够直接同步到代码中使用,因此,与现有的API管理工具相比,进一步地提高开发人员的开发效率。附图说明
[0026] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0027] 图1是本发明实施例提供的接口代码生成方法的实现流程图
[0028] 图2是本发明实施例提供的接口代码生成方法S103的具体实现流程图;
[0029] 图3是本发明另一实施例提供的接口代码生成方法的实现流程图;
[0030] 图4是本发明又一实施例提供的接口代码生成方法的实现流程图;
[0031] 图5是本发明又一实施例提供的接口代码生成方法S403的具体实现流程图;
[0032] 图6是本发明实施例提供的接口代码生成装置的结构框图
[0033] 图7是本发明实施例提供的终端设备的结构示意图。

具体实施方式

[0034] 以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
[0035] 为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
[0036] 图1示出了本发明实施例提供的接口代码生成方法的实现流程,该方法流程包括步骤S101至S104。各步骤的具体实现原理如下:
[0037] S101:基于预先定义的接口结构,在数据库中建立与所述接口结构对应的接口字段。
[0038] 本发明实施例中,接口是数据库与外部系统进行信息交换的共享边界。接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的功能。外部系统通过调用数据库所提供的接口,并基于接口中各方法对应的参数,能够对这些方法进行实现,从而达到外部系统所需实现的功能。为了保证接口中各方法的参数有着相应存在于数据库中的字段,通过获取用户在数据库管理界面或配置文件中所预先定义的接口结构,确定数据库应当建立及维护的数据表及字段。其中,预先定义的接口结构包括表名、字段、类型、主键、外键以及索引等基本属性。
[0039] 根据预设的SQL语句生成模板,读取上述接口结构对应的各个基本属性,并将各个基本属性分别填充至该SQL语句生成模板,以输出相应的SQL执行语句。此后,系统执行该SQL执行语句,以该表名在数据库中创建一个新的数据表,并在该数据表中创建与各类型相匹配的字段,以及建立主键、外键、索引等。因此,基于预先定义的接口结构,在数据库中,实现了对与该接口结构对应的接口字段的维护。
[0040] S102:将所述接口字段通过报表生成工具导出,以生成报表文档,在所述报表文档中接收用户发出的接口字段修改指令,对所述报表文档进行接口字段修改。
[0041] 本发明实施例中,通过报表生成工具实现对数据库中接口字段的导出。报表生成工具包含但不限于基于Java的开源报表工具JasperReports、BI套件 Pentaho、以JasperReports作为报表生成引擎且基于Web的报表解决方案 OpenReports、Java类库Pentaho Reporting、Eclipse-based开放源代码报表系统 BIRT以及基于Jakarta POI API的Excel报表生成工具等。优选地,本发明实施例中的报表生成工具为基于Jakarta POI API的Excel报表生成工具,该Excel 报表生成工具也即JXLS框架
[0042] 基于JXLS框架对数据库所维护的数据表进行处理,将数据库中的各接口字段作为一个java实体类,并将java实体类导出,以生成Excel报表文档。具体地,将数据表中的各个接口字段的字段名以及字段类型导出,将接口字段名导出为Excel报表文档的行名或列名,将具体的字段类型导出为报表文档中行或列所对应的字段内容。
[0043] 导出的Excel报表文档存储于系统中由用户所指定的存放路径。当用户想要在系统或在其他外部环境中查看数据库中各数据表的接口字段时,可通过传输并查看各数据表对应导出的Excel报表文档来实现。用户无需在数据库中输入指定语法规则的SQL语句即能直观地查看Excel报表文档所显示的接口字段以及具体的字段类型。同时,由于数据库要求较高的安全性,因而通过将接口字段导出至Excel报表文档供外部系统开发者查看,能够避免外部系统需要实时连接数据库才能查看表中接口字段,保证只有在必要时刻下才允许外部系统开发者连接数据库,因此提高了数据库的安全性。
[0044] 由于Excel报表文档具有可编辑性,故用户在查看了该Excel报表文档且需要对数据库中的接口字段进行修改时,可先在Excel报表文档中对各接口字段进行修改。其中,对接口字段的修改包括但不限于增加接口字段、删除接口字段以及对接口字段的字段名、字段类型等属性进行修改。当用户在Excel报表文档中执行上述修改操作时,在所述报表文档中,则接收到用户发出的接口字段修改指令,并根据该接口字段修改指令,直接对报表文档中的各接口字段进行修改。
[0045] S103:导入修改后的所述报表文档,并根据修改后的所述报表文档,对所述数据库中的接口字段进行更新。
[0046] 基于JXLS框架,将用户编辑后的Excel报表文档导入至系统的指定存储路径。读取报表文档所对应的数据表名以及各个第一接口字段,与此同时,根据该数据表名,从数据库中读取该数据表所实际对应的各个第二接口字段,并将每个第一接口字段分别与各第二接口字段进行对比,或者将每个第二接口字段分别与各第一接口字段进行对比。若不存在与第一接口字段相同的第二接口字段,则表示该第一接口字段为新增字段,故在数据库的该数据表中,自动构建该新增字段。若不存在与第二接口字段相同的第一接口字段,则表示该第二接口字段为用户需要删除的接口字段,故在数据库的该表中,调用预设的SQL 语句,将该字段进行删除。或者,在Excel报表文档中的第一接口字段与数据库中该表的第二接口字段并非完全匹配时,利用预设的SQL语句,如 DROPTABLE语句将该数据表删除后再利用CREATE语句进行重建,以在数据库中存储一张完全匹配Excel报表文档中各第一接口字段的新数据表。
[0047] 当Excel报表文档中的第一接口字段的字段名与数据表中的第二接口字段的字段名相同,且第一接口字段的字段类型与该第二接口字段的字段类型不同时,表示用户只对接口字段的类型进行了修改,故在数据库的该表中,判断第二接口字段的字段类型的数据能否转换为第一接口字段的字段类型的数据,若能,则利用预设的SQL语句,如CAST语句或CONVERT语句,对该字段类型进行修改。若第二接口字段的字段类型的数据无法转换为第一接口字段的字段类型的数据,则发出错误提示。
[0048] 例如,若第二接口字段的字段类型为整型,第一接口字段的字段类型为字符串类型,则确定整型的数据能够转换为字符串类型的数据;若第二接口字段的字段类型为浮点型,第一接口字段的字段类型为整型,则将浮点型的数据转化为整型的数据时会出现小数点数据丢失的情况,降低了原数据存储的精度,因而确定浮点型的数据不能转换为整型的数据。
[0049] 作为本发明的一个实施例,如图2所示,上述S103具体包括:
[0050] S201:若同一时刻导入两个以上修改后的所述报表文档,则发出冲突告警提示,并在接收到报表文档合并指令时,将所述两个以上修改后的所述报表文档进行合并处理。
[0051] 若同一时刻导入了两个以上修改后的报表文档,则表示在该时刻之前,多个用户均对系统导出的同一份报表文档做出了修改。例如,若系统导出的报表文档被传输至不同的两个终端A和B,分别为终端A和终端B上的文档1和文档2,以分别供终端用户a和终端用户b对报表文档中的接口字段进行查看以及管理,同时,终端用户a和终端用户b在互不知情的情况下均更新了报表文档中的接口字段,则二者将文档1和文档2同时导入系统时,系统无法确定使用哪个报表文档。这种情况下,系统分别向终端用户a和终端用户b发出冲突告警提示,提示用户是否需要对报表文档进行合并处理。在接收到任一用户发出的报表文档合并指令时,系统对文档1和文档2进行合并,即,把文档1和文档2中所有的接口字段以及接口类型汇总于一个报表文档中。
[0052] S202:根据合并后得到的报表文档,对所述数据库中的接口字段进行更新。
[0053] 基于接口字段以及接口类型汇总完毕后的报表文档,将该报表文档导入数据库,从而以上述S103相同的实现原理,对数据库中维护的接口字段进行更新。
[0054] S104:将更新后的所述接口字段填充至代码模板,以使所述代码模板生成与更新后的所述接口字段相匹配的接口代码。
[0055] 本发明实施例中,代码模板为Velocity模板。Velocity模板是一个基于Java 的引擎框架,其提供的模板语言可以使用在Java中定义的对象和变量上。当数据库的数据表中所维护的接口字段与Excel报表文档的接口字段相同,且字段类型完全匹配时,获取数据表对应生成的一个xml文件,该xml文件中包含有各接口字段的标签。调用Velocity模板,利用Velocity模板中的ant任务Anakia,对预先生成的xml文件进行读取,从而在读取后自动将xml文件中的各接口字段填充至Velocity模板中,并生成与接口字段相匹配的接口代码。具体地,在生成的Java工程文件中,读取填充有各接口字段的Velocity模板,将Velocity 模板中的接口字段传进该Java工程文件,从而生成相应的Java接口代码。由此可知,生成的Java接口代码的接口结构与Excel报表文档中所定义的接口结构相同。
[0056] 通过自动生成Java接口代码,开发人员无需在代码实现的过程中,在工程代码文件中重复定义一份关于接口的DTO(Data Transfer Object)代码。
[0057] 本发明实施例中,通过将接口字段导出以生成报表文档,对用户修改后的报表文档进行导入,并根据报表文档中用户所修改的接口字段,在数据库中实现接口字段的同步更新,使得开发人员无须受到API管理工具所特定提供的可视化工具的限制,能够灵活地在报表文档中随时录入并修改接口字段,提高了数据库中接口字段的维护效率;通过将报表文档中的接口字段填充至代码模板中,能够利用代码模板自动生成接口代码,保证了定义好的接口文档能够直接同步到代码中使用,因此,与现有的API管理工具相比,进一步地提高开发人员的开发效率。
[0058] 作为本发明的另一个实施例,图3示出了本发明实施例提供的接口代码生成方法的实现流程。如图3所示,在上述S104之后,该方法还包括步骤S105 和步骤S106,具体如下:
[0059] S105:将所述接口代码进行存储,以得到代码文件,并生成所述代码文件的版本号。
[0060] 版本号是代码版本的一个标识号。每一次生成的接口代码以及代码文件都有一个版本号。版本号用于使开发人员了解其所调用的接口代码是否为自己所需的一个版本。并且,根据该版本号,用户能够从记录表中查询该版本号对应的功能注释,从而基于接口代码以及代码文件的版本号,能够确定出该接口代码所提供的功能是否为自己所需的一个功能。
[0061] 本发明实施例中,代码文件为Java工程文件。在每次接口代码生成时,系统从预设的版本号序列中,依次读取一个未被分配使用的版本号,从而以该版本号作为当前时刻所生成的接口代码的一个版本号,并利用该版本号作为该接口代码所对应的代码文件的版本号。
[0062] S106:对所述代码文件的版本号进行展示。
[0063] 一方面,系统将生成的版本号作为Java工程文件的文件名,同时将版本号注释于该Java工程文件的接口代码中。另一方面,在系统所显示的接口详情页面中,展示各Java工程文件及其对应的版本号。
[0064] 本发明实施例中,通过生成并展示代码文件的版本号,对开发人员起到了版本提示的作用,使得开发人员在升级接口时,能够通过系统所展示的版本号,直观地了解到自己所调用的接口代码是否为最新版本的接口,保证不同开发人员能够基于版本号相同的接口代码,共同执行开发操作,避免接口代码版本号不一致的情况出现。
[0065] 作为本发明的又一实施例,如图4所示,在上述S104之后,所述方法还包括:
[0066] S401:当接收到用户发出基于所述接口代码的调用指令时,获取所述用户的账号权限。
[0067] 在生成接口代码文件之后,获取为该接口代码文件所设置的项目信息以及接口信息。其中,项目信息表示该接口代码文件所用于实现的功能以及该接口代码文件所对应的软件开发项目的具体信息等。例如,该项目信息可以是项目的负责人、项目组成员以及项目介绍等信息。接口信息包括接口代码的注释内容以及接口代码本身。
[0068] 当检测到用户对上述接口代码进行调用,以通过该接口代码所对应的数据库接口来管理数据表中的信息,或对该接口代码的项目信息以及接口信息进行管理时,对用户进行权限鉴定。此时,获取用户当前所使用的管理账号,从预设的账号权限列表中匹配出该管理账号,从而确定出该管理账号对应的账号权限。其中,在各管理账号生成时,该管理账号对应的账号权限同时由数据库管理人员预设于账号权限列表中。管理账号对应的账号权限包括第一权限以及第二权限。
[0069] 若在账号权限列表中没有匹配到用户当前所使用的管理账号,该管理账号对应的账号权限为空值,或者,该管理账号对应的账号权限为非法权限,则确定该用户的账号权限为上述第一权限。
[0070] S402:若所述账号权限为第一权限,则拒绝响应所述调用指令。
[0071] 本发明实施例中,第一权限表示限制用户对接口代码的关联信息进行查看和管理,接口代码的关联信息包括接口信息和项目信息。因此,系统将不对该用户发出的任何调用指令作出响应。
[0072] S403:若所述账号权限为第二权限,则对所述调用指令进行响应。
[0073] 本发明实施例中,第二权限表示允许用户对接口代码的部分关联信息或全部关联信息进行查看和管理。其中,第二权限包括查看权限、部分管理权限以及管理权限。因而在不同类型的第二权限下,系统将对该用户发出的不同调用指令作出响应。
[0074] 图5示出了本发明又一实施例提供的接口代码生成方法S403的具体实现流程,详述如下:
[0075] S501:若所述账号权限为所述查看权限,则对所述接口信息查看指令进行响应。
[0076] 本发明实施例中,上述基于接口代码的调用指令包括基于接口代码的接口信息查看指令、接口信息管理指令以及项目信息管理指令,上述第二权限包括查看权限、部分管理权限以及管理权限。
[0077] 当从账号权限列表中确认出用户所使用的管理账号所对应的账号权限为查看权限时,仅对该用户开放基于接口代码的接口信息查看权限,而不开放接口代码的其他管理权限。在账号权限为查看权限的情况下,若系统所接收到的调用指令为接口信息查看指令,则对该调用指令进行响应后,将接口代码的接口信息进行展示,以使用户在只读状态下,能够查看该接口信息,而无法对该接口信息进行修改。
[0078] 若系统所接收到的调用指令为接口信息管理指令或项目信息管理指令,则拒绝响应该调用指令,即不对该调用指令作出响应。
[0079] S502:若所述账号权限为部分管理权限,则对所述接口信息查看指令以及所述接口信息管理指令进行响应。
[0080] 当从账号权限列表中确认出用户所使用的管理账号所对应的账号权限为部分管理权限时,仅对该用户开放基于接口代码的接口信息管理以及查看权限,而不开放接口代码的项目信息管理权限。在账号权限为部分管理权限的情况下,若系统所接收到的调用指令为接口信息查看指令或接口信息管理指令,则对该调用指令进行响应后,将接口代码的接口信息进行展示。若系统所接收到的调用指令为接口信息管理指令,则根据接口信息管理指令所携带的具体信息,对接口代码的接口信息进行修改更新。
[0081] 若系统所接收到的调用指令为项目信息管理指令,则拒绝响应该调用指令,即不对该调用指令作出响应。
[0082] S503:若所述账号权限为管理权限,则对所述接口信息查看指令、所述接口信息管理指令以及所述项目信息管理指令进行响应。
[0083] 当从账号权限列表中确认出用户所使用的管理账号所对应的账号权限为管理权限时,对该用户开放基于接口代码的所有管理权限,包括对接口信息管理、查看的权限以及对项目信息管理的权限。在账号权限为管理权限的情况下,无论系统所接收到的调用指令为接口信息查看指令、接口信息管理指令还是项目信息管理指令,都对该调用指令进行响应。
[0084] 本发明实施例中,通过确认用户管理账号的是第一权限还是第二权限,以及在第二权限的情况下,再次确认用户是第二权限中哪一类权限,能够适当地对用户发出的基于接口代码的调用指令进行响应,降低了接口代码被非法泄密以及被非法用户所调用的可能性。由于现有API管理工具中缺乏权限维护策略,因而本发明实施例提供的接口代码生成方法能够弥补现有API管理工具的不足之处,提高接口代码的安全性。
[0085] 应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定[0086] 对应于上文实施例所述的接口代码生成方法,图6示出了本发明实施例提供的接口代码生成装置的结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。
[0087] 参照图6,该装置包括:
[0088] 维护模块61,用于基于预先定义的接口结构,在数据库中建立与所述接口结构对应的接口字段。
[0089] 导出模块62,用于将所述接口字段通过报表生成工具导出,以生成报表文档,在所述报表文档中接收用户发出的接口字段修改指令,对所述报表文档进行接口字段修改。
[0090] 更新模块63,用于导入修改后的所述报表文档,并根据修改后的所述报表文档,对所述数据库中的接口字段进行更新。
[0091] 第一生成模块64,用于将更新后的所述接口字段填充至代码模板,以使所述代码模板生成与更新后的所述接口字段相匹配的接口代码。
[0092] 可选地,该接口代码生成装置还包括:
[0093] 第二生成模块,用于将所述接口代码进行存储,以得到代码文件,并生成所述代码文件的版本号。
[0094] 展示模块,用于对所述代码文件的版本号进行展示。
[0095] 可选地,所述更新模块63包括:
[0096] 合并子模块,用于若同一时刻导入两个以上修改后的所述报表文档,则发出冲突告警提示,并在接收到报表文档合并指令时,将所述两个以上修改后的所述报表文档进行合并处理。
[0097] 更新子模块,用于根据合并后得到的报表文档,对所述数据库中的接口字段进行更新。
[0098] 可选地,该接口代码生成装置还包括:
[0099] 获取模块,用于当接收到用户发出基于所述接口代码的调用指令时,获取所述用户的账号权限。
[0100] 第一权限模块,用于若所述账号权限为第一权限,则拒绝响应所述调用指令。
[0101] 第二权限模块,用于若所述账号权限为第二权限,则对所述调用指令进行响应。
[0102] 可选地,所述第二权限包括查看权限、部分管理权限以及管理权限,所述调用指令包括接口信息查看指令、接口信息管理指令以及项目信息管理指令,所述第二权限模块包括:
[0103] 第一响应子模块,用于若所述账号权限为所述查看权限,则对所述接口信息查看指令进行响应。
[0104] 第二响应子模块,用于若所述账号权限为部分管理权限,则对所述接口信息查看指令以及所述接口信息管理指令进行响应。
[0105] 第三响应子模块,用于若所述账号权限为管理权限,则对所述接口信息查看指令、所述接口信息管理指令以及所述项目信息管理指令进行响应。
[0106] 图7是本发明实施例提供的终端设备的结构示意图。如图7所示,该实施例的终端设备7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72,例如接口代码生成程序。所述处理器70执行所述计算机程序72时实现上述各个接口代码生成方法实施例中的步骤,例如图1所示的步骤101至104。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各模块的功能,例如图6所示模块61至64 的功能。
[0107] 示例性的,所述计算机程序72可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器71中,并由所述处理器70执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述终端设备7中的执行过程。例如,所述计算机程序72可以被分割成维护模块、导出模块、更新模块以及第一生成模块,各模块具体功能如下:
[0108] 维护模块用于基于预先定义的接口结构,在数据库中建立与所述接口结构对应的接口字段。
[0109] 导出模块用于将所述接口字段通过报表生成工具导出,以生成报表文档,在所述报表文档中接收用户发出的接口字段修改指令,对所述报表文档进行接口字段修改。
[0110] 更新模块用于导入修改后的所述报表文档,并根据修改后的所述报表文档,对所述数据库中的接口字段进行更新。
[0111] 第一生成模块用于将更新后的所述接口字段填充至代码模板,以使所述代码模板生成与更新后的所述接口字段相匹配的接口代码。
[0112] 所述终端设备7可以是桌上型计算机、笔记本、掌上电脑及服务器等计算设备。所述终端设备7可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的示例,并不构成对终端设备7 的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备7还可以包括输入输出设备、网络接入设备、总线等。
[0113] 所称处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0114] 所述存储器71可以是所述终端设备7的内部存储单元,例如终端设备7 的硬盘或内存。所述存储器71也可以是所述终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
[0115] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0116] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0117] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0118] 在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0119] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0120] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0121] 所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0122] 以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈