一种应用程序接口API生成的方法及系统

阅读: 评论:0

著录项
  • CN201911336655.5
  • 20191223
  • CN111198772A
  • 20200526
  • 中思博安科技(北京)有限公司
  • 王贺冬;毕伟
  • G06F9/54
  • G06F9/54

  • 北京市东城区和平里东街11号雍和宫壹中心B9-4层
  • 北京(11)
  • 北京名华博信知识产权代理有限公司
  • 李冬梅
摘要
本文是关于一种应用程序接口API生成的方法及系统,该方法包括:获取数据库的元数据,对元数据解析生成数据字典;向数据使用方显示数据字典的可视化页面,并接收数据使用方发送的数据交换共享申请请求,数据交换共享申请请求中包括数据使用方从数据字典选择的数据交换共享信息;根据数据交换共享信息生成API,API的接口参数信息至少包括:与数据交换共享信息对应的标识信息;将API的接口参数信息发送至数据使用方。本发明通过可视化的数据字典,数据使用方可以直观得查看需要的信息,数据提供方根据数据使用方选择的库、表和字段自动生成API接口,开发工作量小、节省开发资源,简化了API生成的过程。
权利要求

1.一种应用程序接口API生成的方法,其特征在于,包括:

获取数据库的元数据,对所述元数据解析生成数据字典;

向数据使用方显示所述数据字典的可视化页面,并接收所述数据使用方发送的数据交换共享申请请求,所述数据交换共享申请请求中包括所述数据使用方从所述数据字典选择的数据交换共享信息;

根据所述数据交换共享信息生成API,所述API的接口参数信息至少包括:与所述数据交换共享信息对应的标识信息;

将所述API的接口参数信息发送至所述数据使用方。

2.根据权利要求1所述的方法,其特征在于,

所述元数据包括:数据库名称、表名称、表描述信息和表字段信息,其中,所述表字段信息主要包括:字段名称、字段类型和字段长度。

3.根据权利要求1所述的方法,其特征在于,

所述数据交换共享信息包括所述数据使用方从所述数据字典的列字段选择的数据项和/或查询条件。

4.根据权利要求1至3中任一项所述的方法,其特征在于,还包括:

接收所述数据使用方的查询请求,所述查询请求中包括所述API的接口参数信息;

根据所述API的接口参数信息执行API接口服务,获取查询结果。

5.根据权利要求4所述的方法,其特征在于,所述根据所述API的接口参数信息执行API接口服务,获取查询结果,包括:

从所述查询请求中的API的接口参数信息中获取所述标识信息;

查询与所述标识信息对应的数据交换共享信息;

将与所述标识信息对应的数据交换共享信息转换成SQL查询语句;

将所述SQL查询语句发送至数据库,并获得所述数据库返回的所述查询结果。

6.一种应用程序接口API生成的系统,其特征在于,包括:

数据字典生成模块,用于获取数据库的元数据,对所述元数据解析生成数据字典;

显示模块,用于向数据使用方显示所述数据字典的可视化页面;

接收模块,用于接收所述数据使用方发送的数据交换共享申请请求,所述数据交换共享申请请求中包括所述数据使用方从所述数据字典选择的数据交换共享信息;

API生成模块,用于根据所述数据交换共享信息生成API,所述API的接口参数信息至少包括:与所述数据交换共享信息对应的标识信息;

发送模块,用于将所述API的接口参数信息发送至所述数据使用方。

7.根据权利要求6所述的系统,其特征在于,

所述元数据包括:数据库名称、表名称、表描述信息和表字段信息,其中,所述表字段信息主要包括:字段名称、字段类型和字段长度。

8.根据权利要求6所述的方法,其特征在于,

所述数据交换共享信息包括所述数据使用方从所述数据字典的列字段选择的数据项和/或查询条件。

9.根据权利要求6至8中任一项所述的系统,其特征在于,还包括:API执行模块,其中:

所述接收模块,还用于接收所述数据使用方的查询请求,所述查询请求中包括所述API的接口参数信息;

所述API执行模块,用于根据所述API的接口参数信息执行API接口服务,获取查询结果。

10.根据权利要求9所述的系统,其特征在于,

所述API执行模块,用于根据所述API的接口参数信息执行API接口服务,获取查询结果,包括:

从所述查询请求中的API的接口参数信息中获取所述标识信息;

查询与所述标识信息对应的数据交换共享信息;

将与所述标识信息对应的数据交换共享信息转换成SQL查询语句;

将所述SQL查询语句发送至数据库,并获得所述数据库返回的所述查询结果。

说明书
技术领域

本文涉及软件开发技术领域,尤其涉及一种应用程序接口API生成的方法及系统。

数据交换共享最常见的方式是API(Application Programming Interface,应用程序接口)。首先数据提供方启动一个API接口服务等待请求,API接口数据使用方发起请求,调用API接口服务,API接口服务返回数据给数据使用方。

现有技术中,数据提供方需要进行大量的SQL(Structured Query Language,结构化查询语言)编写,然后对SQL封装处理,生成API接口,对外提供服务。工作量大,而且会浪费大量的开发成本。

为克服相关技术中存在的问题,本文提供一种应用程序接口API生成的方法及系统。

根据本文的第一方面,提供一种应用程序接口API生成的方法,包括:

获取数据库的元数据,对所述元数据解析生成数据字典;

向数据使用方显示所述数据字典的可视化页面,并接收所述数据使用方发送的数据交换共享申请请求,所述数据交换共享申请请求中包括所述数据使用方从所述数据字典选择的数据交换共享信息;

根据所述数据交换共享信息生成API,所述API的接口参数信息至少包括:与所述数据交换共享信息对应的标识信息;

将所述API的接口参数信息发送至所述数据使用方。

可选的,所述元数据包括:数据库名称、表名称、表描述信息和表字段信息,其中,所述表字段信息主要包括:字段名称、字段类型和字段长度。

可选的,所述数据交换共享信息包括所述数据使用方从所述数据字典的列字段选择的数据项和/或查询条件。

可选的,所述方法还包括:

接收所述数据使用方的查询请求,所述查询请求中包括所述API的接口参数信息;

可选的,所述根据所述API的接口参数信息执行API接口服务,获取查询结果,包括:

从所述查询请求中的API的接口参数信息中获取所述标识信息;

查询与所述标识信息对应的数据交换共享信息;

将与所述标识信息对应的数据交换共享信息转换成SQL查询语句;

将所述SQL查询语句发送至数据库,并获得所述数据库返回的所述查询结果。

根据本文的另一方面,提供一种应用程序接口API生成的系统,包括:

数据字典生成模块,用于获取数据库的元数据,对所述元数据解析生成数据字典;

显示模块,用于向数据使用方显示所述数据字典的可视化页面;

接收模块,用于接收所述数据使用方发送的数据交换共享申请请求,所述数据交换共享申请请求中包括所述数据使用方从所述数据字典选择的数据交换共享信息;

API生成模块,用于根据所述数据交换共享信息生成API,所述API的接口参数信息至少包括:与所述数据交换共享信息对应的标识信息;

发送模块,用于将所述API的接口参数信息发送至所述数据使用方。

可选的,所述元数据包括:数据库名称、表名称、表描述信息和表字段信息,其中,所述表字段信息主要包括:字段名称、字段类型和字段长度。

可选的,所述数据交换共享信息包括所述数据使用方从所述数据字典的列字段选择的数据项和/或查询条件。

可选的,所述系统还包括:API执行模块,其中:

所述接收模块,还用于接收所述数据使用方的查询请求,所述查询请求中包括所述API的接口参数信息;

所述API执行模块,用于根据所述API的接口参数信息执行API接口服务,获取查询结果。

可选的,所述API执行模块,用于根据所述API的接口参数信息执行API接口服务,获取查询结果,包括:

从所述查询请求中的API的接口参数信息中获取所述标识信息;

查询与所述标识信息对应的数据交换共享信息;

将与所述标识信息对应的数据交换共享信息转换成SQL查询语句;

将所述SQL查询语句发送至数据库,并获得所述数据库返回的所述查询结果。

本文提供的API生成方法以及查询方法中,通过可视化的数据字典,数据使用方可以直观得查看需要的信息,对于不懂SQL编程打包生成API的普通用户也可以方便操作,大大简化了API生成的过程,用户的操作变得简单方便。相较于现有技术中需要进行大量的SQL编写、封装生成API而言,数据提供方根据数据使用方选择的库、表和字段自动生成API接口,开发工作量小、能够节省开发资源。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本文。

构成本文的一部分的附图用来提供对本文的进一步理解,本文的示意性实施例及其说明用于解释本文,并不构成对本文的不当限定。在附图中:

图1是实施例1提供的一种应用程序接口API生成的方法的流程图;

图2是实施例1提供的一种数据查询的方法的流程图;

图3是实施例2提供的一种应用程序接口API生成的系统的结构框图;

图4是实施例2提供的另一种应用程序接口API生成的系统的结构框图。

为使本文实施例的目的、技术方案和优点更加清楚,下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。需要说明的是,在不冲突的情况下,本文中的实施例及实施例中的特征可以相互任意组合。

实施例1

本实施例提供了一种应用程序接口API生成的方法。图1是一种应用程序接口API生成的方法的流程图。如图1所示,该方法应用于数据提供方,该方法包括以下步骤:

S101、获取数据库的元数据,对元数据解析生成数据字典;

其中,元数据包括:数据库名称、表名称、表描述信息和表字段信息,其中,表字段信息主要包括:字段名称、字段类型和字段长度。

本申请中,通过程序连接到数据库之后,扫描数据库的元数据,对元数据信息进行解析,获取到数据库名称、表名称、字段名称、字段类型、字段长度等信息,再将以上信息通过可视化的页面进行展示,形成数据字典。

在具体实施时,可以通过一些命令获取到数据库的元数据。数据库的show语句是获取元数据的一种方式。show databases,列出所有数据库,通过程序解析出数据库名称。show tables from db_name,该语句列出指定数据库的所有表,通过程序解析出表名称。show table status from db_name,查看数据库中每个表的描述性信息,包含表名、数据量、表注释等信息。show columns from tbl_name,查看指定表的列字段信息,包含字段名称、字段类型、字段长度等信息。show create table tbl_name,查看表创建语句,包含字段名称、字段类型、字段注释等。

执行show语句后,获取到数据库的元数据,通过解析元数据,获取数据库名称、表名称、表描述信息、表字段信息,表字段信息主要包括:名称、类型、长度。将这些信息以页面形式进行展示,形成数据字典。数据使用方通过查看数据字典,就可以查看数据库中有哪些类型的数据。

S102、向数据使用方显示数据字典,并接收数据使用方发送的数据交换共享申请请求,数据交换共享申请请求中包括数据使用方从数据字典选择的数据交换共享信息;

数据使用方通过数据字典,可以查看数据提供方可以提供哪些数据。在数据字典的可视化页面中,数据使用方选择需要的数据库名称、表名称、字段名称,向数据提供方发起数据交换共享申请请求。

作为本实施例中一种可选的实施方式,数据交换共享信息包括数据使用方从数据字典的列字段选择的数据项和/或查询条件。数据使用方查看数据字典,选择一些列字段作为要交换的数据项,也可以选择另一些列作为查询条件。

通过可视化的数据字典,数据使用方可以直观得查看需要的信息,对于不懂SQL编程打包生成API的普通用户也可以方便操作,大大简化了API生成的过程,用户的操作变得简单方便,由此可以使得更多的普通用户申请自己需要的API,实现广泛的数据交互共享。

S103、根据数据交换共享信息生成API,API的接口参数信息至少包括:与数据交换共享信息对应的标识信息;

数据使用方向数据提供方提交数据交换申请请求,数据提供方同意进行交换后,由程序根据数据使用方选择的库、表和字段自动生成API接口,提供给数据使用方进行使用。

数据提供方接收到数据项和查询条件,对其生成标识信息,该标识信息是数据提供方根据使用方选择的数据交换共享信息生成的唯一ID。数据提供方将唯一ID作为API接口的默认参数返回给数据使用方。所有数据使用方获取到API接口地址都是一样的,例如,通用地址为:http://data-switch?id=?。唯一的不同点是API接口中的默认参数ID,如,http://data-switch?id={唯一ID}。该ID和数据使用方选择的数据项、查询条件一一对应。

S104、将API的接口参数信息发送至数据使用方。

作为本实施例中一种可选的实施方式,数据提供方在生成API之后,如图2所示,本实施例还提供了一种数据查询方法。本实施例提供的方法还包括以下步骤:

S201、接收数据使用方的查询请求,查询请求中包括API的接口参数信息;

S202、根据API的接口参数信息执行API接口服务,获取查询结果。

作为本实施例中一种可选的实施方式,根据API的接口参数信息执行API接口服务,获取查询结果,包括:从查询请求中的API的接口参数信息中获取标识信息;查询与标识信息对应的数据交换共享信息;将与标识信息对应的数据交换共享信息转换成SQL查询语句;将SQL查询语句发送至数据库,并获得数据库返回的查询结果。

具体地,数据使用方可以直接请求上文中自动生成的API,API服务收到请求,获取查询请求的接口参数信息中的唯一ID,通过唯一ID获取到对应的数据项和查询条件,将数据项、查询条件以及查询请求中其他参数一起进行处理,转化成一条SQL查询语句。数据提供方将SQL语句发送给数据库进行执行,数据库返回查询结果给数据提供方,数据提供方再将数据返回给发起请求的数据使用方。

本实施例提供的API生成方法以及查询方法中,通过可视化的数据字典,数据使用方可以直观得查看需要的信息,对于不懂SQL编程打包生成API的普通用户也可以方便操作,大大简化了API生成的过程,用户的操作变得简单方便。相较于现有技术中需要进行大量的SQL编写、封装生成API而言,数据提供方根据数据使用方选择的库、表和字段自动生成API接口,开发工作量小、能够节省开发资源。

实施例2

本实施例提供了一种应用程序接口API生成的系统。在此仅对该API生成的系统的结构及功能进行简单说明,未尽事宜参见上文中应用程序接口API生成的方法及查询方法相应部分的描述。如图3所示,该系统包括:

数据字典生成模块101,用于获取数据库的元数据,对元数据解析生成数据字典;

显示模块102,用于向数据使用方显示数据字典的可视化页面;

接收模块103,用于接收数据使用方发送的数据交换共享申请请求,数据交换共享申请请求中包括数据使用方从数据字典选择的数据交换共享信息;

API生成模块104,用于根据数据交换共享信息生成API,API的接口参数信息至少包括:与数据交换共享信息对应的标识信息;

发送模块105,用于将API的接口参数信息发送至数据使用方。

其中,元数据包括:数据库名称、表名称、表描述信息和表字段信息,其中,表字段信息主要包括:字段名称、字段类型和字段长度。

作为本实施例中一种可选的方式,数据交换共享信息包括数据使用方从数据字典的列字段选择的数据项和/或查询条件。

此外,如图4所示,该系统还包括:API执行模块106,其中:接收模块103,还用于接收数据使用方的查询请求,查询请求中包括API的接口参数信息;

API执行模块106,用于根据API的接口参数信息执行API接口服务,获取查询结果。

作为本实施例中一种可选的实施方式,API执行模块106,用于根据API的接口参数信息执行API接口服务,获取查询结果,包括:从查询请求中的API的接口参数信息中获取标识信息;查询与标识信息对应的数据交换共享信息;将与标识信息对应的数据交换共享信息转换成SQL查询语句;将SQL查询语句发送至数据库,并获得数据库返回的查询结果。

本实施例提供的API生成系统中,通过可视化的数据字典,数据使用方可以直观得查看需要的信息,对于不懂SQL编程打包生成API的普通用户也可以方便操作,大大简化了API生成的过程,用户的操作变得简单方便。相较于现有技术中需要进行大量的SQL编写、封装生成API而言,数据提供方根据数据使用方选择的库、表和字段自动生成API接口,开发工作量小、能够节省开发资源。

本领域技术人员应明白,本文的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本文可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本文可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质,包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质等。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

本文是参照根据本文实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括要素的物品或者设备中还存在另外的相同要素。

尽管已描述了本文的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本文范围的所有变更和修改。

显然,本领域的技术人员可以对本文进行各种改动和变型而不脱离本文的精神和范围。这样,倘若本文的这些修改和变型属于本文权利要求及其等同技术的范围之内,则本文的意图也包含这些改动和变型在内。

本文发布于:2023-04-15 08:14:34,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/3/87161.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图