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

接口仿真服务调用方法及装置与流程

2022-04-27 10:43:04 来源:中国专利 TAG:


1.本发明涉及金融技术领域,具体地,涉及一种接口仿真服务调用方法及装置。


背景技术:

2.传统仿真服务一般通过以下方式来实现:
3.第一种方案利用mock服务,将所需调用的服务通过mockserver、easymock和mockito等mock服务工具进行模拟,在服务调用时按照固定的接口格式进行返回数据。这种方式依靠手工方式录入接口输入和返回字段,工作繁杂;且mock服务返回值为随机值,不能完全模拟实际情况。
4.第二种方案为定制化开发,开发者根据所需的接口服务定制化维护相应的接口,从而在调用时配置预置的接口得到相应的返回数据。第二种方案也能解决一部分问题,但随之而来的是成本的增加,开发者每遇到一个需要外部的接口都需要花费大量的时间来维护,在开发时间相对紧张的情况下实施起来也比较困难。
5.第三种方案为根据xml模板或yml模板进行维护,通过web端先录入接口再通过服务访问。但前端录入和xml/yml模板维护较为复杂、成本较高,且不支持重复接口。


技术实现要素:

6.本发明实施例的主要目的在于提供一种接口仿真服务调用方法及装置,以在满足实际调用外部服务的同时大幅减少人力成本。
7.为了实现上述目的,本发明实施例提供一种接口仿真服务调用方法,包括:
8.接收用户上传的接口路径和接口请求参数,根据接口路径查找接口文件;
9.根据接口请求参数的版本信息从接口文件中查找对应的接口信息;
10.根据接口请求参数从接口信息中获取接口返回值。
11.本发明实施例还提供一种接口仿真服务调用装置,包括:
12.文件查找模块,用于接收用户上传的接口路径和接口请求参数,根据接口路径查找接口文件;
13.接口信息查找模块,用于根据接口请求参数的版本信息从接口文件中查找对应的接口信息;
14.接口返回值模块,用于根据接口请求参数从接口信息中获取接口返回值。
15.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并在处理器上运行的计算机程序,处理器执行计算机程序时实现所述的接口仿真服务调用方法的步骤。
16.本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现所述的接口仿真服务调用方法的步骤。
17.本发明实施例的接口仿真服务调用方法及装置先根据接口路径查找接口文件,再根据接口请求参数的版本信息从接口文件中查找对应的接口信息以获取接口返回值,可以
在满足实际调用外部服务的同时大幅减少人力成本。
附图说明
18.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
19.图1是本发明实施例中仿真服务器与服务调用者的交互示意图;
20.图2是本发明实施例中接口仿真服务调用方法的流程图;
21.图3是本发明实施例中接口调用流程的时序图;
22.图4是本发明实施例中s103的流程图;
23.图5是本发明实施例中s201的流程图;
24.图6是本发明实施例中创建接口流程的时序图;
25.图7是现有技术中接口服务的调用流程图;
26.图8是本发明实施例中接口仿真服务的调用流程图;
27.图9是本发明实施例中接口仿真服务调用装置的示意图;
28.图10是本发明实施例中计算机设备的结构框图。
具体实施方式
29.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
30.本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
31.需要说明的是,本发明的接口仿真服务调用方法及装置可用于金融领域的仿真服务场景中,也可用于除金融领域之外的任意领域。本发明实施例对接口仿真服务调用方法及装置的应用领域不做限定。
32.本发明中提及的关键术语定义如下:
33.接口仿真服务:模拟真实接口来提供服务。
34.freemarker:基于模板和待改变数据生成输出文本的通用工具。
35.uri:通用资源标志符(universal resource identifier),是用于标识互联网资源名称的字符串。
36.springboot:一种java开源的开发框架,简化了spring应用的搭建和开发过程。
37.服务器:用于发布前端网站、后台数据的集中控制服务,给用户提供可视化的网站资源文件以及用户数据保存功能。
38.鉴于现有技术不能完全模拟实际情况,维护复杂、成本较高,本发明实施例提供一种接口仿真服务调用方法,结合freemarker、mybatisplus、vue、springboot和数据存储等
技术可以很好地解决外部服务调用依赖的问题:利用智能识别功能、springboot的特性及freemarker的功能,可以快速定义外部依赖接口及便捷的定义返回信息,不再依赖于像mock服务及手工编写接口的资源限制。开发者也不用再担心接口变动而带来的频繁修改或重新定义,通过智能识别、修改接口,即可将外部依赖服务的变更快速完成。因此本发明既能快速智能维护所需接口服务,又能灵活变更,在不改变接口地址的情况下实现接口仿真服务调用,满足实际调用外部服务的同时大幅减少人力成本。
39.图1是本发明实施例中仿真服务器与服务调用者的交互示意图。如图1所示,用户通过仿真服务器前端将所依赖的外部接口依据freemarker要求将接口文件导入,仿真服务器后端智能识别、解析接口文件并将接口及返回信息模板固化到数据库。当用户需要调用接口时,通过所调用接口的路径来访问后端服务器提供的对外服务即可得到预期得返回值。仿真服务作为中间层整合了服务,因此对外接口服务可以以注册的方式在仿真服务上备案,需要调用时直接调用仿真服务即可,最终能够真实的模拟对外接口返回数据而不是使用mock,同时减少研发人员的投入,方便快捷的完成对外依赖的接口定义和维护。
40.图2是本发明实施例中接口仿真服务调用方法的流程图。图3是本发明实施例中接口调用流程的时序图。如图2-图3所示,接口仿真服务调用方法包括:
41.s101:接收用户上传的接口路径和接口请求参数,根据接口路径查找接口文件。
42.图6是本发明实施例中创建接口流程的时序图。如图6所示,在执行s101之前,还包括:
43.获取用户上传的接口文档,接口文档包括接口路径和接口请求参数;根据接口文档生成接口仿真服务。
44.具体实施时,用户打开仿真服务网站前端导入接口文档。接口文档应符合标准格式:包含接口请求参数、接口路径uri、请求示例报文和返回示例报文(返回报文需要以freemarker格式,即锚点)。仿真服务器前端(vue前端)对接口文档进行校验,判断文档是否为word格式,之后将接口文档处理传递给仿真服务器后端(springboot后端)。仿真服务器后端对接收到的接口文档进行逻辑校验和处理,将数据存入mysql存储服务器,并根据freemarker模板和接口文档生成对外接口仿真服务,将mysql存储服务器处理结果返回至仿真服务器前端。
45.仿真服务器后端的数据处理具体包括:
46.1、格式校验:校验接口要素是否全面,请求示例报文和返回示例报文是否符合json标准等。
47.2、业务逻辑处理:识别接口参数和对接口的增删改查。
48.3、数据固化:将识别到的接口参数入库。
49.4、对外接口服务:通过统一调用接口生成对外服务的仿真接口。
50.5、异常处理,包括:a.格式校验异常,不符合接口格式时返回前端处理信息;b.业务处理异常:在接口的增删改查异常时,返回前端处理失败信息;c.数据库处理异常:数据库链接异常和数据库校验异常(sql及主键冲突异常)等。
51.执行s101时,当用户需要调用录入的接口时,可调用仿真服务器后端的ip、端口、所需调用的接口路径(uri)及接口请求参数,仿真服务器后端会将接口路径(uri)作为标识去mysql存储服务器中检索接口文件。
52.s102:根据接口请求参数的版本信息从接口文件中查找对应的接口信息。
53.具体实施时,mysql存储服务器根据接口请求参数的版本信息从接口文件中查找对应的接口信息;当存在接口信息时,将接口信息传递至仿真服务器后端,否则向仿真服务器后端反馈接口不存在。仿真服务器后端将接口信息传递至freemarker模板引擎。
54.s103:根据接口请求参数从接口信息中获取接口返回值。
55.图4是本发明实施例中s103的流程图。如图4所示,s103包括:
56.s201:解析接口请求参数获得键值。
57.图5是本发明实施例中s201的流程图。如图5所示,s201包括:
58.s301:将接口请求参数进行map转换,从转换后的接口请求参数中获取map层级。
59.具体实施时,freemarker通过map转换将接口请求参数转换为jsonmap,从jsonmap中获取map层级。
60.s302:根据map层级解析转换后的接口请求参数获得键值。
61.具体实施时,freemarker按照map层级解析jsonmap,得到键值key。
62.s202:根据键值从接口信息中获取对应的接口返回值。
63.一实施例中,s202包括:
64.根据键值从接口信息的返回值模板中定位锚点;根据键值从锚点中获取对应的接口返回值。
65.具体实施时,freemarker根据键值key从接口信息中定义的返回值模板中定位到锚点,根据键值key从锚点中获取对应的value放入接口返回值resparams中,将接口返回值resparams通过仿真服务器后端返回给调用者。
66.图2所示的接口仿真服务调用方法的执行主体可以为仿真服务器。由图2所示的流程可知,本发明实施例的接口仿真服务调用方法先根据接口路径查找接口文件,再根据接口请求参数的版本信息从接口文件中查找对应的接口信息以获取接口返回值,可以在满足实际调用外部服务的同时大幅减少人力成本。
67.图7是现有技术中接口服务的调用流程图;图8是本发明实施例中接口仿真服务的调用流程图。如图7所示,用户在调用同一个login接口时会自定义两套服务,不能实现复用;如图中用户a、b分别定义了接口login。因此现有技术在接口定义时需要依次匹配参数,参数较多时工作量大。
68.如图8所示,本发明令不同用户在调用同一个login接口时可以通过仿真服务实现统一定义:
69.1、在多项目情况下,当不同项目用到同一个login接口时,系统会根据项目id区分接口,返回不同的结果。
70.2、在同一个项目维度下,多个使用者信息不同步或接口新旧版本同时公用时会出现维护多个接口的情况产生冲突。例如图8中用户e调用同一个项目下login接口version1.1。现有技术方案在创建时不允许有重复的接口url定义生成以解决问题,但不能满足实际需求。而本技术支持多接口重复定义,如图8中的login-version1和login-version1.1。在处理version1和login-version1.1调用时,用户调用的login接口地址不变,但传入的请求参数不同,后台在接收到login请求时,会根据请求参数去匹配数据库中本项目下所有login接口的参数,将与之匹配的version返回。且在接口定义时,本发明传递
的参数由单个解析变为json方式解析,实现了直接由接口文档导入识别方式,可以更加便捷地维护请求及响应参数。
71.本发明实施例的具体流程如下:
72.1、获取用户上传的接口文档,接口文档包括接口路径和接口请求参数。
73.2、根据接口文档生成接口仿真服务。
74.3、接收用户上传的接口路径和接口请求参数,根据接口路径查找接口文件。
75.4、根据接口请求参数的版本信息从接口文件中查找对应的接口信息。
76.5、将接口请求参数进行map转换,从转换后的接口请求参数中获取map层级。
77.6、根据map层级解析转换后的接口请求参数获得键值。
78.7、根据键值从接口信息的返回值模板中定位锚点,根据键值从锚点中获取对应的接口返回值。
79.综上,本发明实施例的接口仿真服务调用方法应用于各类接口调用的场景,可以在开发联调和测试的情况下降低对外部服务依赖的能力,从而通过减少开发人员和测试人员的投入的方式减少成本,保障时间进度。本发明还可以实现对外部依赖集的维护,通过多项目共通实现接口的复用;同时基于java开发支持各种语言的调用以降低兼容性门槛,具有很大的市场推广空间。
80.基于同一发明构思,本发明实施例还提供了一种接口仿真服务调用装置,由于该装置解决问题的原理与接口仿真服务调用方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
81.图9是本发明实施例中接口仿真服务调用装置的示意图。如图9所示,接口仿真服务调用装置包括:
82.文件查找模块,用于接收用户上传的接口路径和接口请求参数,根据接口路径查找接口文件;
83.接口信息查找模块,用于根据接口请求参数的版本信息从接口文件中查找对应的接口信息;
84.接口返回值模块,用于根据接口请求参数从接口信息中获取接口返回值。
85.在其中一种实施例中,接口返回值模块包括:
86.解析单元,用于解析接口请求参数获得键值;
87.接口返回值单元,用于根据键值从接口信息中获取对应的接口返回值。
88.在其中一种实施例中,解析单元包括:
89.层级获取子单元,用于将接口请求参数进行map转换,从转换后的接口请求参数中获取map层级;
90.键值子单元,用于根据map层级解析转换后的接口请求参数获得键值。
91.综上,本发明实施例的接口仿真服务调用装置先根据接口路径查找接口文件,再根据接口请求参数的版本信息从接口文件中查找对应的接口信息以获取接口返回值,可以在满足实际调用外部服务的同时大幅减少人力成本。
92.本发明实施例还提供能够实现上述实施例中的接口仿真服务调用方法中全部步骤的一种计算机设备的具体实施方式。图10是本发明实施例中计算机设备的结构框图,参见图10,所述计算机设备具体包括如下内容:
93.处理器(processor)1001和存储器(memory)1002。
94.所述处理器1001用于调用所述存储器1002中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的接口仿真服务调用方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
95.接收用户上传的接口路径和接口请求参数,根据接口路径查找接口文件;
96.根据接口请求参数的版本信息从接口文件中查找对应的接口信息;
97.根据接口请求参数从接口信息中获取接口返回值。
98.综上,本发明实施例的计算机设备先根据接口路径查找接口文件,再根据接口请求参数的版本信息从接口文件中查找对应的接口信息以获取接口返回值,可以在满足实际调用外部服务的同时大幅减少人力成本。
99.本发明实施例还提供能够实现上述实施例中的接口仿真服务调用方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的接口仿真服务调用方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
100.接收用户上传的接口路径和接口请求参数,根据接口路径查找接口文件;
101.根据接口请求参数的版本信息从接口文件中查找对应的接口信息;
102.根据接口请求参数从接口信息中获取接口返回值。
103.综上,本发明实施例的计算机可读存储介质先根据接口路径查找接口文件,再根据接口请求参数的版本信息从接口文件中查找对应的接口信息以获取接口返回值,可以在满足实际调用外部服务的同时大幅减少人力成本。
104.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
105.本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
106.本发明实施例中所描述的各种说明性的逻辑块,或单元,或装置都可以通过通用处理器,数字信号处理器,专用集成电路(asic),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
107.本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软
件模块、或者这两者的结合。软件模块可以存储于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动磁盘、cd-rom或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于asic中,asic可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
108.在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于ram、rom、eeprom、cd-rom或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(dsl)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、dvd、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
再多了解一些

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

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

相关文献