基于插桩的Web后端API获取方法及装置、存储介质制造方法及图纸

技术编号:30059387 阅读:17 留言:0更新日期:2021-09-15 11:04
本申请公开的实施例提供了一种基于插桩的Web后端API获取方法及装置、存储介质。其中,该基于插桩的Web后端API获取方法,包括:通过预先插桩的目标Web应用程序的路由注册函数中的第一探针,在目标Web应用程序运行时的路由规则注册过程中,即其路由注册模块将路由规则注册到路由系统的过程中,获取路由规则信息,即URL路径与实际处理程序的映射集合,并根据所述映射集合中的每条URL路径与实际处理程序的映射关系信息,分别生成相应的API信息和输出所述API信息。较之现有技术,上述方案,有助于全面地、有效地掌握目标Web应用程序的Web后端API。端API。端API。

【技术实现步骤摘要】
基于插桩的Web后端API获取方法及装置、存储介质


[0001]本申请公开的实施例主要涉及Web后端API相关的
,且更具体地,涉及一种基于插桩的Web后端API获取方法及装置、存储介质。

技术介绍

[0002]Web应用程序通常采用主从式架构。而主从式架构的Web应用程序又被视为前端(一般地,是指浏览器、客户端程序上运行的部分或客户端程序本身)和后端(一般地,是指服务器端运行的部分)两部分。得益于前端技术的发展,前后端分离已经成为行业内开展互联网项目、开发相关Web应用程序的标配模式。通过前、后端的有效解耦,实现前后端分离,前端开始更加注重页面开发的工程化、自动化,后端则更专注于API(这里的API,主要是指前后端分离模式下一种非常重要的后端路由实现方式)的提供和数据库的保障,如此才为软件系统的大型分布式架构、弹性计算架构、微服务架构、多端化服务等提供了可能。
[0003]而在软件项目的全生命周期中,正因为后端提供的API的重要作用(后端路由)及意义(实现前后端解耦),故若能够掌握Web应用程序中后端提供的全量API,将有助于软件项目的开发、测试、运维等工作的开展。
[0004]然而,无论是通过开发团队人工统计,还是通过传统手段——爬虫爬取,对于获取Web后端全量API的目标而言,都是力有不逮力的。因此,如何获取目标Web应用程序后端提供的全量API,是本领域亟待解决的技术问题。

技术实现思路

[0005]根据本申请公开的实施例,提供了获取Web后端API(即Web后端提供的API,其主要是指前后端分离模式下一种非常重要的后端路由实现方式)的方案。
[0006]在本公开的第一方面中,提供了一种基于插桩的Web后端API获取方法。该方法包括:通过预先插桩的目标Web应用程序的路由注册函数中的第一探针,在目标Web应用程序运行时的路由规则注册过程中,即其路由注册模块将路由规则注册到路由系统的过程中,获取路由规则对应的URL路径与实际处理程序的映射集合;根据所述映射集合中的每条URL路径与实际处理程序的映射关系信息,分别生成相应的API信息,并输出所述API信息;每条所述API信息都包括对应的URL路径信息。
[0007]在本公开的第二方面中,提供了一种基于插桩的Web后端API获取装置。该装置包括:插桩模块和API获取模块;其中,插桩模块,被配置为在目标Web应用程序的路由注册函数中插桩第一探针,用以在目标Web应用程序运行过程中获取与所述API相关的数据;API获取模块,则包括所述第一探针;其被配置为使所述第一探针在路由注册模块将路由规则注册到路由系统的过程中,获取URL路径与实际处理程序的映射集合等所述API相关的数据,并根据所述映射集合中的每条URL路径与实际处理程序的映射关系信息,分别生成相应的API信息,并输出所述API信息;每条所述API信息都包括对应的URL路径信息。
[0008]在本公开的第三方面中,提供了一种基于插桩的Web后端API获取装置。该装置包
括:至少一个处理器,和至少一个处理器耦合的存储器,以及存储在存储器中的计算机程序;其中的处理器执行所述计算机程序,能够实现第一方面述及的方法。
[0009]在本公开的第四方面中,提供了一种计算机可读存储介质。该介质上存储有测试相关的计算机指令,该计算机指令在被计算机处理器执行时能够实现第一方面述及的方法。
[0010]在本公开的第五方面中,提供了一种计算机程序产品。该程序产品包括计算机程序,该计算机程序在被计算机处理器执行时能够实现第一方面述及的方法。
[0011]应当理解,
技术实现思路
部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
[0012]结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素,其中:图1示出了本公开的多个实施例能够在其中实现的示例环境以及在该示例环境中请求访问过程的示意图;其中,图1(a)示出了在该示例环境中请求访问的概要过程的示意图;图1(b)则示出了该示例环境中路由系统的示例、及基于此的请求路由过程的示意图;图2示出了在上述实施例中的一些公开的路由过程中将路由规则注册到路由表的示例、以及基于该路由机制请求进入到应用程序的路由过程的示意图;图3示出了在上述实施例中的一些公开的请求进入到MVC应用程序经由路由表路由到控制器等MVC模块实际处理的过程的示意图;图4示出了在上述实施例中的一些公开的请求进入到MVC应用程序后的路由发现、实际处理的过程的示意图;图5示出了在上述实施例中的一些公开的请求进入到MVT应用程序后的路由发现、实际处理的过程的示意图;图6示出了根据本公开的实施例的基于插桩获取Web后端API的过程的示意图;图7示出了根据本公开的实施例的对路由注册函数中的路由规则添加方法插桩第一探针获取路由规则信息的过程的示意图;图8示出了根据本公开的实施例的对路由注册函数中的路由装饰器/扫描注解方法插桩第一探针获取路由规则信息的过程的示意图;图9示出了根据本公开内容示例性实现的一种基于插桩的Web后端API获取装置的框图;图10示出了能够实施本公开的多个实施例的计算设备的框图。
具体实施方式
[0013]下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
[0014]在本公开的实施例的描述中术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
[0015]在本公开的实施例的描述中技术术语“插桩”,又称“程序插桩”,是指在保证被测程序原有逻辑完整性的基础上在程序中插入“探针”,通过“探针”的执行获取程序的运行特征数据(即运行时数据);通过对目标特征数据的分析,可以获得程序的控制流、数据流、逻辑覆盖等动态信息,实现相应的测试目的的技术手段。其中的“探针”,本质上是进行信息采集的代码片段。在本公开的实施例的“探针”除了用于获取请求数据和返回数据、获取代码执行中传递的数据、监听内存中特定的值、识别受污染的输入等外,还可以根据插桩点、测试目的、涉及需求等的不同,设计并实现具有相应自定义功能的“探针”。
[0016]在本公开的实施例的描述中技术术语“目标Web应用”,是指在被作为测试对象的Web应用,也即一些实施例中的待发现其全量对外API信息的目标对象,和一些实施例中以其为测试对象进行测试、并待确定其在该测试中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于插桩的Web后端API获取方法,其特征在于,该方法包括:在目标Web应用程序的路由注册函数中插桩第一探针,并配置得使所述第一探针在路由注册模块将路由规则注册到路由系统的过程中,获取对应的URL路径与实际处理程序的映射集合;根据所述映射集合中的每条URL路径与实际处理程序的映射关系信息,分别生成相应的API信息,并输出所述API信息;每条所述API信息都包括对应的URL路径信息。2.根据权利要求1所述的方法,其特征在于,对所述路由注册函数中的路由规则添加方法插桩所述第一探针,配置得使所述第一探针在路由规则注册时,实时获取每条经由所述添加方法注册到路由系统中的路由规则信息,以生成、输出相应的API信息;其中,所述路由规则信息包括该路由规则对应的URL路径与实际处理程序的映射关系信息;和/或,对所述路由注册函数中的路由装饰器/扫描注解方法插桩所述第一探针,配置得使所述第一探针在路由规则注册时,实时获取路由装饰器解析/扫描注解方法扫描相应的路由配置后生成的路由规则信息,以生成、输出相应的API信息;其中,所述路由规则信息包括该路由规则对应的URL路径与实际处理程序的映射关系信息。3.根据权利要求1所述的方法,其特征在于,对目标Web应用程序插桩所述第一探针的实现方式,包括:以运行时插桩的方式对目标Web应用程序插桩所述第一探针。4.根据权利要求1所述的方法,其特征在于,所述API信息中,还包括:所述URL路径信息映射的实际处理程序信息;所述实际处理程序信息,包括:所述URL路径信息对应的动作方法/处理函数/视图函数的信息。5.一种基于插桩的Web后端API获取装置,其特征在于,该装置包括:插桩模块和API获取模块;所述插桩模块,被配置为在目标Web应用程序的路由注册函数中插桩第一探针;所述API获取模块,包括所述第一探针;所述API获取模块,被配置为使所述第一探针在路由注册模块将路由规则注册到路由系统的过程...

【专利技术属性】
技术研发人员:张涛宁戈张弛李浩
申请(专利权)人:北京安普诺信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1