一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种应用编程接口调用方法及相关设备与流程

2022-04-25 02:19:43 来源:中国专利 TAG:
一种应用编程接口调用方法及相关设备【
技术领域
:】1.本发明涉及计算机
技术领域
:,尤其涉及一种应用编程接口调用方法及相关设备。
背景技术
::2.当前对应用服务的开发往往采用前端和后端同时开发的方式。在实际开发过程中,由于前端的开发难度和工作量比后端要少一些。因此前端的开发进度往往要比后端的开发进度快。而前端的开发又依赖于后端的应用编程接口(applicationprogramminginterface,api),在后端完成api接口的开发之前,前端无法对相关功能进行测试与验证。现有技术中,通过mock技术克服了前端开发对于后端api接口过度依赖的情况。当接收到前端发送的api接口的调用请求时,mock接口根据返回预设的报文信息对该请求进行答复,从而使前端可以完成所有功能的开发与测试。但是,现有的mock技术中实现逻辑复杂,对开发人员的技术要求较高。技术实现要素:3.为了解决上述问题,本发明实施例提供了一种应用编程接口调用方法及相关设备,简化了mock的实现逻辑,增加了mock功能在微服务开发场景中的可用性。4.第一方面,本发明实施例提供一种应用于测试终端的应用编程接口调用方法,包括:5.接收第一应用编程接口调用请求,所述第一应用编程接口调用请求包含所述第一应用编程接口的标识信息;6.从预设配置信息中根据所述第一应用编程接口的标识信息查找对应的mock注解信息,所述mock注解信息包含所述第一应用编程接口的地址信息;7.根据所述mock注解信息确定所述第一应用编程接口的调用类型,所述调用类型包含虚拟调用和真实调用;8.如果所述第一应用编程接口的调用类型为虚拟调用,则根据所述mock注解信息和所述第一应用编程接口调用请求与mock服务数据库中存储的mock报文配置信息进行匹配,得到对应的模拟报文;9.根据所述模拟报文对所述第一应用编程接口调用请求进行响应。10.本发明实施例中,预先在预配置信息中为各个应用编程接口添加mock注解信息,当接收到第一应用编程接口调用请求时,根据mock注解信息来确定请求访问的第一应用编程接口是否使用mock接口还是真实接口,从而降低在微服务测试中使用mock技术的难度。11.在一种可能的实现方式中,从预设配置信息中获取所述第一应用编程接口的mock注解信息之前,所述方法还包括:12.确定所述测试终端是否处于mock测试模式;13.如果所述测试终端未处于mock测试模式,则使用调用失败的报文对所述第一应用编程接口调用请求进行响应。14.在一种可能的实现方式中,根据所mock述注解信息和所述第一应用编程接口调用请求与mock服务数据库中存储的mock报文配置信息进行匹配,得到对应的模拟报文,包括:15.确定所述第一应用编程接口调用请求的请求报文类型和请求参数;16.根据所述请求报文类型、请求参数和所述第一应用编程接口的地址信息从所述mock报文配置信息中查找对应的模拟报文的返回参数以及返回报文类型;17.根据所述返回参数和所述返回报文类型生成所述对应的模拟报文。18.在一种可能的实现方式中,根据所述请求报文类型、请求参数和所述第一应用编程接口的地址信息从所述mock报文配置信息中查找对应的模拟报文的返回参数以及返回报文类型,包括:19.调用java开发工具包jdk动态代理服务,所述jdk动态代理服务根据所述请求报文类型、请求参数确定所述第一应用编程接口调用请求的请求场景;20.根据所述请求场景和所述第一应用编程接口的地址信息从所述mock报文配置信息中查找对应的模拟报文返回参数以及返回报文类型。21.在一种可能的实现方式中,如果第一应用编程接口的调用类型为真实调用,所述方法还包括:22.根据所述第一应用编程接口的地址信息调用所述第一应用编程接口,以使所述第一应用编程接口根据所述第一应用编程接口调用请求输出对应的答复报文;23.根据所述答复报文对所述第一应用编程接口进行响应。24.在一种可能的实现方式中,所述方法还包括:25.接收微服务注册指令,所述注册指令包含微服务注册类型信息;26.根据所述微服务注册类型信息生成对应的新建应用编程接口的地址信息;27.接收新建应用编程接口配置指令,所述新建应用编程接口配置指令包含微服务配置数据,所述微服务配置数据至少包含mock注解信息和mock报文配置信息;28.将所述微服务配置数据存储至所述mock服务数据库中。29.第二方面,本发明实施例提供一种测试终端,包括:30.通信模块,用于接收第一应用编程接口调用请求,所述第一应用编程接口调用请求包含所述第一应用编程接口的标识信息和调用类型配置信息;31.处理模块,用于从预设配置信息中根据所述第一应用编程接口的标识信息查找对应的mock注解信息,所述mock注解信息包含所述第一应用编程接口的地址信息;32.所述处理模块,还用于根据所述mock注解信息确定所述第一应用编程接口的调用类型,所述调用类型包含虚拟调用和真实调用;33.所述处理模块,还用于如果所述第一应用编程接口的调用类型为虚拟调用,则根据所述mock注解信息和所述第一应用编程接口调用请求与mock服务数据库中存储的mock报文配置信息进行匹配,得到对应的模拟报文;34.所述通信模块,还用于根据所述模拟报文对所述第一应用编程接口调用请求进行响应。35.在一种可能的实现方式中,所述处理模块还用于:36.确定所述测试终端是否处于mock测试模式;37.如果所述测试终端未处于mock测试模式,则使用调用失败的报文对所述第一应用编程接口调用请求进行响应。38.第三方面,本发明实施例提供一种电子设备,包括:39.至少一个处理器;以及40.与所述处理器通信连接的至少一个存储器,其中:41.所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一~二方面所述的方法。42.第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一~二方面所述的方法。43.应当理解的是,本发明实施例的第二~四方面与本发明实施例的第一方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。【附图说明】44.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。45.图1为本发明实施例提供的一种测试系统的系统架构图;46.图2为本发明实施例提供的一种应用编程接口调用方法的流程图;47.图3为本发明实施例提供的另一种应用编程接口调用方法的流程图;48.图4为本发明实施例提供的一种测试终端的结构示意图;49.图5为本发明实施例提供的一种电子设备的结构示意图。【具体实施方式】50.为了更好的理解本说明书的技术方案,下面结合附图对本发明实施例进行详细描述。51.应当明确,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。52.在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。53.本发明实施例中,通过预先对各个应用编程接口添加mock注解信息的方式来实现应用编程接口的调用类型,当调用类型为虚拟调用时,通过mock接口从mock服务数据库中确定出对应的模拟报文并返回,从而在微服务架构中实现mock接口的管理与调用。54.图1为本发明实施例提供的一种测试系统的系统架构图,如图1所示,该系统架构包含前端系统、后端系统和mock系统三部分构成。其中,mock系统中包含注册/配置中心、服务网关、mock服务数据库和mock-server服务。前端系统中包含mock-client服务。55.对应图1所示的系统架构图,本发明实施例提供了一种应用编程接口调用方法,如图2所示,该方法处理步骤包括:56.步骤201,接收第一应用编程接口调用请求,第一应用编程接口调用请求包含第一应用编程接口的标识信息。其中,前端开发人员想要对第一应用编程接口进行测试时,可以通过向图1中示出的服务网关发送超文本传输协议(hypertexttransferprotocol,http)格式的第一应用编程接口调用请求,服务网关对该http地址进行解析,并将解析后的第一应用编程接口调用请求发送至图1中示出的注册/配置中心。上述的http地址即为第一应用编程接口的标识信息。不同应用编程接口的http地址均不相同。57.步骤202,从预设配置信息中根据第一应用编程接口的标识信息查找对应的mock注解信息,mock注解信息包含第一应用编程接口的地址信息和调用类型配置信息。其中,mock注解信息用于标注第一应用编程接口是否支持mock调用,如果支持mock调用,则mock注解信息中还包含第一应用编程接口的mock接口地址。如果不支持mock调用,则mock注解信息中可以包含地址应用编程接口的实际接口地址。即,真实的后端api接口地址。58.步骤203,根据mock注解信息确定第一应用编程接口的调用类型,调用类型包含虚拟调用和真实调用。其中,虚拟调用即为调用mock接口并返回预设的报文信息,真实调用即为调用后端开发完成的api接口并返回真实的报文信息。59.步骤204,如果第一应用编程接口的调用类型为虚拟调用,则根据mock注解信息和第一应用编程接口调用请求与mock服务数据库中存储的mock报文配置信息进行匹配,得到对应的模拟报文。其中,当调用类型为虚拟调用的时候,注册/配置中心调用图1中示出的mock-server服务。mock-server服务通过注解中的地址信息访问mock服务数据库中存储的mock报文配置信息,从而的得到对应的模拟报文。60.在一个具体示例中,当使用的框架可以为feign开源框架时,在feign开源项目中的feign-hystrix模块功能的基础上,可以对fallback功能进行拓展来实现步骤204中的相关内容。可以通过对fallbackfactory.default进行封装,使得项目启动构建初始化fallbackfactory时候,使用自定义fallbackfactory来替换原有的fallbackfactory默认的实现fallbackfactory.default。如远程调用失败(根据系统应用配置和部署环境)则会进行返回值mock。如果调用成功,则不会进入任何一个fallbackfactory。61.在一些实施例中,如果第一应用编程接口的调用类型为真实调用,则可以调用真实的第一应用编程接口而不是调用mock接口,使前端开发人员可以根据后端api接口的完成情况对不同应用编程接口配置不同的测试方式。具体的,可以根据第一应用编程接口的地址信息调用第一应用编程接口,以使第一应用编程接口根据第一应用编程接口调用请求输出对应答复报文。62.步骤205,根据模拟报文对第一应用编程接口调用请求进行响应。63.在一些实施例中,在从预配置信息中获取第一应用编程接口的mock注解信息之前,还可以确定测试终端的当前系统状态是否支持接口mock。可以先确定测试终端是否处于mock测试模式。具体的,可以根据测试终端的微服务配置文件确定当前是否支持mock功能,如果支持,则对应的参数应为mock.enable。如果测试终端未处于测试模式,则使用调用失败的报文对第一应用编程接口调用请求进行响应。因此,只有当微服务配置文件中的参数为mock.enable,并且第一应用编程接口的mock注解中的调用类型配置信息被配置为虚拟调用时,第一应用编程接口才是可以进行mock的。64.在一些实施例中,在确定第一应用编程接口的调用类型为虚拟调用后,还可以先判断mock服务数据库中是否存在对应的模拟报文,如果存在则进行模拟报文的生成。生成模拟报文的处理步骤如图3所示:65.步骤301,确定第一应用编程接口调用请求的请求报文类型和请求参数。66.步骤302,根据请求报文类型、请求参数和第一应用编程接口的地址信息从mock报文配置信息中查找对应的模拟报文的返回参数以及返回报文类型。例如,在测试登陆功能时,对于不同用户登陆的场景,可以根据用户名以及用户密码来确定登陆结果场景,登陆结果场景包含登陆成功以及登陆失败。mock报文配置信息中,配置有与用户名相对应的用户密码。当第一应用编程接口调用请求中的用户名与用户密码与mock豹纹配置信息不匹配时,则确定登陆失败,并生成对应的模拟报文,报文内容可以是:用户名或密码不正确。67.在一个具体示例中,在实现步骤302时,可以使用java开发工具包(javadevelopmentkit,jdk)动态代理的方法来实现访问mock数据库的mock接口。具体的,可以调用java开发工具包jdk动态代理服务,jdk动态代理服务根据请求报文类型、请求参数确定第一应用编程接口调用请求的请求场景。之后根据请求场景和第一应用编程接口的地址信息从mock报文配置信息中查找对应的模拟报文返回参数以及返回报文类型。68.步骤303,根据返回参数和返回报文类型生成对应的模拟报文。69.在一些实施例中,前端测试人员在需要预先对正在开发的微服务进行注册,从而生成对应的应用编程接口,之后基于生成的应用编程接口来进行具体的mock测试。具体的,图1中示出的注册/配置中心接收微服务注册指令,注册指令包含微服务注册类型信息。根据微服务注册类型信息生成对应的新建应用编程接口的地址信息。其中,应用编程接口的地址信息包含服务接口信息和访问地址信息。之后前端开发人员可以对具体的mock虚拟报文进行配置。具体的,接收新建应用编程接口配置指令,新建应用编程接口配置指令包含微服务配置数据,微服务配置数据至少包含mock注解信息和mock报文配置信息。之后可以将微服务配置数据存储至mock服务数据库中。70.本发明实施例中,通过在应用编程接口上使用mock注解进行标识,在自定义的fallbackfactory中增强识别当前访问的接口是否支持mock功能,同时根据mock注解的访问地址,通过java的jdk动态代理实现机制,实现动态化mock模拟报文的多场景多用户的场景模拟。并使用注册/配置中心来实现微服务的注册与微服务的配置化。并且通过更改mock服务数据库中的mock报文配置信息,从而使得该方法可以实现跨平台、跨语言以及跨环境。71.可选的,可以选择nacos作为注册/配置中心。或者将注册/配置中心拆分为注册中心和配置中心。注册中心可以使用eureka、zookeeper以及consul。配置中心可以使用springcloudconfigapollo。注册/配置中心可以使用swagger方式实现接口api的管理和文档生成,通过knife4j进行美化相关的页面和展示,通过页面的统一管理实现api的统一管理。72.通过本发明实施例提供的应用编程接口调用方法,解决了现有技术中mock接口不具有普适性和可配置性以及接口报文返回的类型支持有限的缺点。73.对应上述应用编程接口调用方法,本发明实施例提供一种测试终端的结构示意图。如图4所示,测试终端包括通信模块401和处理模块402。74.通信模块401,用于接收第一应用编程接口调用请求,第一应用编程接口调用请求包含第一应用编程接口的标识信息和调用类型配置信息。75.处理模块402,用于从预设配置信息中根据第一应用编程接口的标识信息查找对应的mock注解信息,mock注解信息包含第一应用编程接口的地址信息。76.处理模块402,还用于根据mock注解信息确定第一应用编程接口的调用类型,调用类型包含虚拟调用和真实调用。77.处理模块402,还用于如果第一应用编程接口的调用类型为虚拟调用,则根据mock注解信息和第一应用编程接口调用请求与mock服务数据库中存储的mock报文配置信息进行匹配,得到对应的模拟报文。78.通信模块401,还用于根据模拟报文对第一应用编程接口调用请求进行响应。79.在一些实施例中,处理模块402还用于:80.确定测试终端是否处于mock测试模式。81.如果测试终端未处于mock测试模式,则使用调用失败的报文对第一应用编程接口调用请求进行响应。82.图4所示实施例提供的测试终端可用于执行本说明书图1-图3所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。83.图5为本发明实施例提供的一种电子设备的结构示意图,如图5所示,上述电子设备可以包括至少一个处理器,以及与上述处理器通信连接的至少一个存储器,其中:存储器存储有可被处理器执行的程序指令,上述处理器调用上述程序指令能够执行本说明书图1-3所示实施例提供的应用编程接口调用方法。84.如图5所示,电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:一个或者多个处理器510、通信接口520和存储器530,连接不同系统组件(包括存储器530、通信接口520和处理单元510)的通信总线540。85.通信总线540表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(industrystandardarchitecture;以下简称:isa)总线,微通道体系结构(microchannelarchitecture;以下简称:mac)总线,增强型isa总线、视频电子标准协会(videoelectronicsstandardsassociation;以下简称:vesa)局域总线以及外围组件互连(peripheralcomponentinterconnection;以下简称:pci)总线。86.电子设备典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。87.存储器530可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(randomaccessmemory;以下简称:ram)和/或高速缓存存储器。电子设备可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。存储器530可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本说明书各实施例的功能。88.具有一组(至少一个)程序模块的程序/实用工具,可以存储在存储器530中,这样的程序模块包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块通常执行本说明书所描述的实施例中的功能和/或方法。89.处理器510通过运行存储在存储器530中的程序,从而执行各种功能应用以及数据处理,例如实现本说明书图1-图3所示实施例提供的应用编程接口调用方法。90.本说明书实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行本说明书图1-图3所示实施例提供的应用编程接口调用方法。91.上述计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(readonlymemory;以下简称:rom)、可擦式可编程只读存储器(erasableprogrammablereadonlymemory;以下简称:eprom)或闪存、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。92.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。93.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。94.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本说明书的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。95.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本说明书的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本说明书的实施例所属
技术领域
:的技术人员所理解。96.取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。97.需要说明的是,本说明书实施例中所涉及的设备可以包括但不限于个人计算机(personalcomputer;以下简称:pc)、个人数字助理(personaldigitalassistant;以下简称:pda)、无线手持设备、平板电脑(tabletcomputer)、手机、mp3显示器、mp4显示器等。98.在本说明书所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。99.另外,在本说明书各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。100.上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,连接器,或者网络装置等)或处理器(processor)执行本说明书各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory;以下简称:rom)、随机存取存储器(randomaccessmemory;以下简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。101.以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献