开放接口生成方法、网络设备及计算机可读存储介质转让专利
申请号 : CN202111537092.3
文献号 : CN113918499B
文献日 : 2022-04-08
发明人 : 范磊
申请人 : 深圳市明源云科技有限公司
摘要 :
权利要求 :
1.一种开放接口生成方法,其特征在于,所述开放接口生成方法包括:扫描程序系统的程序集,获取所述程序系统的实现类;
根据自定义筛选条件从所述程序系统的实现类中获取目标实现类;
基于动态路由生成接入所述程序系统的网络路径;
根据所述目标实现类以及接入所述程序系统的网络路径,构建所述程序系统的开放接口;
其中,所述根据所述目标实现类以及接入所述程序系统的网络路径,构建所述程序系统的开放接口的步骤包括:
判断所述目标实现类是否存在有默认接口;
若所述目标实现类存在默认接口,则根据所述目标实现类、所述目标实现类的默认接口和所述程序系统的网络路径,构建所述程序系统的开放接口;
其中,所述根据所述目标实现类、所述目标实现类的默认接口和所述程序系统的网络路径,构建所述程序系统的开放接口的步骤包括:根据所述目标实现类的业务功能,在所述目标实现类的默认接口的基础上重构接口的请求参数、重构请求参数的参数描述以及重构接口返回参数,得到对外开放接口,并将所述网络路径作为所述外开放接口的网络地址。
2.如权利要求1所述的开放接口生成方法,其特征在于,所述根据自定义筛选条件从所述程序系统的实现类中获取目标实现类的步骤包括:使用实现类筛选器对获取到的程序系统的实现类按自定义筛选条件进行筛选,将不符合预设筛选条件的实现类去除,得到所述程序系统的目标实现类。
3.如权利要求2所述的开放接口生成方法,其特征在于,在所述扫描程序系统的程序集的步骤之前,包括:
基于用户操作生成程序系统的实现类的自定义筛选条件;
将所述自定义筛选条件输入至所述实现类筛选器中。
4.如权利要求1所述的开放接口生成方法,其特征在于,在所述判断所述目标实现类是否存在有默认接口的步骤之后,包括:若所述目标实现类不存在默认接口,则基于用户操作生成所述目标实现类的实现逻辑;
基于所述实现逻辑以及目标实现类的业务功能,构建开放接口的请求参数、构建开放接口请求参数的描述、构建开放接口的返回参数,得到对外开放接口,并将所述网络路径作为外开放接口的网络地址。
5.如权利要求4所述的开放接口生成方法,其特征在于,所述构建开放接口请求参数的描述的步骤包括:
基于用户操作并结合所述开放接口请求参数生成所述请求参数的描述。
6.如权利要求5所述的开放接口生成方法,其特征在于,所述构建开放接口的返回参数的步骤包括:
将所述目标实现类接收到请求参数后返回的数据作为开放接口的返回参数。
7.一种网络设备,其特征在于,所述网络设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的开放接口生成程序,所述开放接口生成程序被所述处理器执行时实现如权利要求1至6中任一项所述开放接口生成方法的步骤。
8.一种可读存储介质,其特征在于,所述可读存储介质上存储有开放接口生成程序,所述开放接口生成程序被处理器执行时实现如权利要求1至6中任一项所述的开放接口生成方法的步骤。
说明书 :
开放接口生成方法、网络设备及计算机可读存储介质
技术领域
背景技术
很少存在数据的交互,由于这种应用分割,多个系统之间往往存在数据的冗余以及功能的
重叠,各个系统之间信息传输、资源利用困难,形成所谓的“信息孤岛”,因此,如何有效的把
各个封闭系统中的接口对外暴露,让外部系统可以调用操作成为亟待解决的问题。
发明内容
所述网络路径作为所述外开放接口的网络地址。
径作为外开放接口的网络地址。
口生成程序被所述处理器执行时实现如上述开放接口生成方法的步骤。
成方法的步骤。
标实现类存在默认接口,则基于默认接口重构接口的请求参数、请求参数的描述以及接口
返回参数再结合动态路由生成的网络路径,从而生成封闭程序系统对外开放接口;若目标
实现类不存在默认接口,则基于开发人员编写的实现功能逻辑、目标实现类构建接口构建
接口的请求参数、请求参数的描述以及接口返回参数再结合网络路径,同样生成封闭系统
的对外开放接口,通过生成的外开放接口实现封闭系统内部数据或者功能的对外暴露,封
闭系统可给基于对外开放接口实现与外界或者其他封闭系统交互,打破了所谓的“信息孤
岛”。
附图说明
具体实施方式
在默认接口,则基于默认接口重构接口的请求参数、请求参数的描述以及接口返回参数生
成对外开放接口;若目标实现类不存在默认接口,则基于开发人员编写的实现功能逻辑及
目标实现类构建接口重构接口的请求参数、请求参数的描述以及接口返回参数生成对外开
放接口。
不存在或很少存在数据的交互,由于这种应用分割,多个系统之间往往存在数据的冗余以
及功能的重叠,各个系统之间信息传输、资源利用困难,形成所谓的“信息孤岛”,因此,如何
有效的把各个封闭系统中的接口对外暴露,让外部系统可以调用操作成为亟待解决的问
题。
互,打破了所谓的“信息孤岛”。
用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口
1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接
口、无线接口(如WI‑FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器
(non‑volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器
1001的存储装置。
地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明
暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。
作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大
小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切
换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端
还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
1001可以用于调用存储器1005中存储的开放接口生成程序,并执行以下操作:
所述网络路径作为所述外开放接口的网络地址。
径作为外开放接口的网络地址。
系统,扫描遍历所述程序系统的程序集(所述程序集经由编译器编译得到,供CLR(Common
Language Runtime,公共语言运行库)进一步编译执行的那个中间产物,在WINDOWS系统中,
它一般表现为·dll或者是·exe的格式),从程序集中获取到该程序系统的相关实现类,其
中,该程序系统的相关实现类可以包括:该程序系统中储存的资源文件,如jpeg(Joint
Photographic Experts Group,联合图像专家小组)、gif(Graphics Interchange Format,
图像互换格式)、html(HyperText Markup Language,超文本标记语言)等图片、文字、视频
以及链接类型的数据,还包括实现某一功能的可执行的应用程序等,通过扫描即可得到封
闭系统中的实现类。
实现类使用实现类筛选器进行筛选,将一些敏感的或者无权限的资源文件以及应用程序从
对外开放接口的实现类中去除,避免重要资源暴露。
在本实施例中将基于Net Core Swagger第三方组件提供的筛选器方式进行自定义筛选,在
扫描之前,由用户自定义设置筛选条件,如筛除某敏感数据库,则在生成开放接口的时所使
用的实现类将不包括该筛除的敏感数据库,此外,在设置筛选条件时,也同样可设置筛选出
某类实现类为目标实现类,即生成开放接口所使用的实现类为筛选出的目标实现类。
外开放接口的生成。
口。
所述程序系统的网络路径,构建所述程序系统的开放接口。
义的实现类则需要在现有资源的基础上进一步编码完成对应的业务功能,如:对外开放接
口的功能为用户信息查询功能,若该接口对接的实现类为标准实现类,则该实现类具有用
户信息的数据库而且具备用户信息的查询功能,在此基础上扫描系统会自动生成用户信息
数据库查询功能的接口,即将生成默认接口,另外,若该接口对接的实现类为自定义实现
类,则此时可能只存在有储存用户信息的数据库(甚至储存用户信息的数据库也不存在),
但不具备有用户信息查询功能,则不会自动生成默认接口。同样的,经过条件筛选器筛选后
的目标实现类也包括上述两种情况,因此,在生成接口前,判断所述目标实现类是否具有默
认接口,若所述目标实现类具有默认接口,则根据所述默认接口、目标实现类和动态路由生
成的网络路径生成对外开放的接口。
放接口,并将所述网络路径作为所述外开放接口的网络地址。具体的,由系统生成的默认接
口,往往不符合实际业务需求,因此需要重构接口的请求参数、请求参数的描述以及接口返
回参数。基于上述接口为用户信息查询功能的例子,且与该接口对接的目标实现类为具有
数据查询功能的数据库,该目标实现类的业务功能为用户信息查询业务。系统默认生成的
接口所要求的请求参数往往不符合实际需求,如默认接口要求用户输入的请求参数只需要
用户姓名即可,但由于在本实施例中是将原来封闭的程序系统暴露给第三方,为避免信息
被随意查询,需重构请求参数,在输入用户姓名的基础上添加用户ID(Identity document,
身份标识号)或者用户电话号码等,虽然将原来封闭程序系统暴露给了第三方,同时也通过
重构对外开放接口的请求参数,提高第三方用户使用该接口的门槛,避免对外开放接口被
滥用。同时,当接口的请求参数被重构后,接口请求参数的描述也需要重构,基于上述实现
用户信息查询的接口,对请求参数的描述重构,添加用户ID或者用电话号码等,当用户在使
用该接口时,向用户输出请求参数的描述,用户根据请求参数的描述输入请求参数即可。同
样的,关于重构接口的返回参数,系统生成的默认接口基于请求参数所返回的数据可能并
不能完全满足用户需求,因此需对接口的返回参数进行重构,同样基于上述例子,如查询得
到的用户信息不完成,获取用户信息库里的数据相对缺乏,则重新设定接口返回数据种类、
数据量或者添加新的数据库,从而满足用户的实际需求,此外,基于ERP系统动态路由生成
的网络路径将会作为对外开放接口的网络地址。可以理解是对于存在有默认接口的目标实
现类,无需开发人员进一步按照标准的MVC(Model View Controller,模型、视图、控制器)
方式编码来实现业务逻辑功能,只需基于默认接口重构即可。
以及目标实现类的业务功能,构建开放接口的请求参数、构建开放接口请求参数的描述、构
建开放接口的返回参数,得到对外开放接口,并将所述网络路径作为外开放接口的网络地
址。
息查询功能时,可能只存在有储存用户信息的数据库(或者储存用户信息的数据库也不存
在),但不具备有用户信息查询功能。因此,由开发人员重新完成实现用户信息查询功能的
逻辑代码(搭建或者重新对接数据库)即上述基于用户操作,此时所述用户为开发人员并非
使用接口的用户,同时构建好用户信息查询所需输入的请求参数,如设置用户姓名、用户ID
或者用电话号码等查询时需输入的请求参数,接口将使用接口的用户所述输入的请求参数
发送至具有信息查询功能的数据库。进一步的,基于用户操作并结合所述开放接口请求参
数生成所述请求参数的描述。具体的,上述基于用户操作为开发人员的操作,所生成的请求
参数描述为提示使用接口的用户需输入什么请求参数,具体的请求参数描述为开发人员基
于请求参数自身的意义理解,同时将接口与对应的请求参数描述打上特殊标签,当用户使
用该接口时,接口根据特殊标签获取到对应的请求参数描述,并将获取到的请求参数描述
向用户输出。进一步的,将所述目标实现类接收到请求参数后返回的数据作为开放接口的
返回参数。具体的,构建接口的返回参数为:接口将用户输入的请求参数发送给查询逻辑部
分,查询逻辑部分基于输入的参数从对应信息数据库中进行查找,将查找得到的用户数据
作为接口的返回参数。具体接口返回参数的内容由查询逻辑的结果决定,开发人员可对查
询逻辑进行变更,从而改变接口返回参数的内容,同样的,基于ERP系统动态路由生成的网
络路径将会作为对外开放接口的网络地址。可以理解的是,在本实施例中所述目标实现类
具体业务功能以查询信息为例进行说明,但在实际应用中目标实现类的业务功能远不止查
询信息,如还可以包括对数据的处理、对数据储存或者对数据进行删除等。
默认接口重构接口的请求参数、请求参数的描述以及接口返回参数再结合动态路由生成的
网络路径,从而生成封闭程序系统对外开放接口;若目标实现类不存在默认接口,则基于开
发人员编写的实现功能逻辑、目标实现类构建接口构建接口的请求参数、请求参数的描述
以及接口返回参数再结合网络路径,同样生成封闭系统的对外开放接口,通过生成的外开
放接口实现封闭系统内部数据或者功能的对外暴露,封闭系统可给基于对外开放接口实现
与外界或者其他封闭系统交互,打破了所谓的“信息孤岛”。
所述处理器执行时实现如上述开放接口生成方法的步骤。
骤。
且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有
的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该
要素的过程、方法、物品或者系统中还存在另外的相同要素。
前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做
出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个
存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,
计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
术领域,均同理包括在本发明的专利保护范围内。