一种前端工程的接口代理方法、装置及介质与流程
未命名
08-01
阅读:129
评论:0

背景技术:
::2.随着软件开发技术的迅猛发展,前后端完全分离的思想和其高效、多端支持、强交互的特点逐渐被认可,越来越多的前端开发者使用不同的框架构建前端工程,实现前后端完全分离开发。在对前端工程进行开发测试时往往既需要对接口数据进行模拟,来模拟各种可能的使用情况;也需要使用后端正式环境、或测试环境中的数据来进行开发联调。可见,前端工程在进行开发时,需要不断将前端工程本地开发环境中的接口进行切换。3.现有技术中,在前端工程需要切换本地开发环境中的接口时,需要将前端工程重启,需要修改前端工程本地开发环境中所配置的接口地址;这种方式,效率比较低,步骤繁琐;会影响前端工程开发人员的工作效率,会增加前端工程的开发时间,开发成本。技术实现要素:4.为了解决现有技术中,需要重启前端工程,才能切换前端工程本地开发环境的接口;效率低,步骤繁琐的问题。本技术提供一种前端工程的接口代理方法、装置及介质,可以实现对接口切换的热更新,可以提高前端工程开发的工作人员的工作效率。5.为达到上述目的,本技术采用如下技术方案:6.第一方面,本技术提供一种前端工程的接口代理方法,该方法包括:7.接收前端工程发起的接口请求;接口请求中至少请求一个接口;8.启动第一模拟mock服务,为第一mock服务配置至少两个端口;至少两个端口包括:第一端口和第二端口;将接口代理至第一mock服务的第一端口;9.监听第一端口中的数据,得到标志位信息;第一端口中的数据来自于接口,标志位信息用于指示是否对接口启用数据模拟;10.响应于启用数据模拟,启动第二mock服务,通过第二端口将接口中数据转发至第二mock服务;第二mock服务基于接口中的数据进行数据模拟得到模拟数据,并将模拟数据返还接口;11.响应于不启用数据模拟,通过第二端口将接口中数据转发至第一对象;第一对象基于接口中的数据进行工作得到工作数据,并将工作数据返还接口;第一对象包括:后端工程、测试环境、正式环境中的任一种。12.作为本技术第一方面的一种可能的实施方式,监听第一端口中的数据,包括:使用nodemon工具监听第一端口中的数据。13.作为本技术第一方面的一种可能的实施方式,将接口代理至第一mock服务的第一端口,包括:14.在前端工程本地开发环境的配置中将接口地址代理至第一mock服务的第一端口。15.作为本技术第一方面的一种可能的实施方式,通过第二端口将接口中数据转发至第一对象,包括:16.使用代理及转发工具,通过第二端口将接口中数据转发至第一对象,代理及转发工具包括:http-proxy-middleware。17.第二方面,本技术提供一种前端工程的接口代理装置,该装置包括:18.通信单元,用于接收前端工程发起的接口请求;接口请求中至少请求一个接口;19.处理单元,用于启动第一模拟mock服务,为第一mock服务配置至少两个端口;至少两个端口包括:第一端口和第二端口;将接口代理至第一mock服务的第一端口;20.处理单元还用于监听第一端口中的数据,得到标志位信息;第一端口中的数据来自于接口,标志位信息用于指示是否对接口启用数据模拟;21.响应于启用数据模拟,启动第二mock服务,通过第二端口将接口中数据转发至第二mock服务;第二mock服务基于接口中的数据进行数据模拟得到模拟数据,并将模拟数据返还接口;22.响应于不启用数据模拟,通过第二端口将接口中数据转发至第一对象;第一对象基于接口中的数据进行工作得到工作数据,并将工作数据返还接口;第一对象包括:后端工程、测试环境、正式环境中的任一种。23.作为本技术第二方面的一种可能的实施方式,监听第一端口中的数据,包括:使用nodemon工具监听第一端口中的数据24.作为本技术第二方面的一种可能的实施方式,将接口代理至第一mock服务的第一端口,包括:25.在前端工程本地开发环境的配置中将接口地址代理至第一mock服务的第一端口。26.作为本技术第二方面的一种可能的实施方式,通过第二端口将接口中数据转发至第一对象,包括:27.使用代理及转发工具,通过第二端口将接口中数据转发至第一对象,代理及转发工具包括:http-proxy-middleware。28.第三方面,本技术提供了一种前端工程的接口代理装置,该装置包括:处理器和通信接口;通信接口和处理器耦合,处理器用于运行计算机程序或指令,以实现如第一方面和第一方面的任一种可能的实现方式中所描述的前端工程的接口代理方法。29.第四方面,本技术提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在终端上运行时,使得终端执行如第一方面和第一方面的任一种可能的实现方式中描述的前端工程的接口代理方法。30.第五方面,本技术实施例提供一种包含指令的计算机程序产品,当计算机程序产品在前端工程的接口代理装置上运行时,使得前端工程的接口代理装置执行如第一方面和第一方面的任一种可能的实现方式中所描述的前端工程的接口代理方法。31.第六方面,本技术实施例提供一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行计算机程序或指令,以实现如第一方面和第一方面的任一种可能的实现方式中所描述的前端工程的接口代理方法。32.具体的,本技术实施例中提供的芯片还包括存储器,用于存储计算机程序或指令。33.本技术提供的技术方案至少具有以下技术效果:34.本技术实施例使用第一mock服务去对接前端工程本地开发环境的接口,在前端工程的开发人员对前端工程进行调试需要使用不同的数据时,前端工程本地开发环境的接口第一始终为第一mock服务中第一端口,不需要重新修改前端工程本地开发环境,不需要重新对前端工程本地开发环境进行重新配置,可以节约开发人员的开发时间,节省项目开发的开发成本。附图说明35.图1为本技术实施例提供的一种前端工程的接口代理方法的流程图;36.图2为本技术实施例提供的一种前端工程的接口代理方法的示意图;37.图3为本技术实施例提供的一种前端工程的接口代理装置的结构示意图;38.图4为本技术实施例提供的另一种前端工程的接口代理装置的结构示意图;39.图5为本技术实施例提供的一种芯片的结构示意图。具体实施方式40.下面结合附图对本技术实施例提供的一种前端工程的接口代理方法及装置进行详细地描述。41.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。42.本技术的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。43.此外,本技术的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。44.需要说明的是,本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。45.以下,对本技术实施例中所涉及的一些相关术语和技术进行解释说明。46.1)、前端47.前端(front-end)即网站前台部分,运行在pc端,移动端等浏览器上展现给用户浏览的网页。前端技术一般分为前端设计和前端开发,前端设计一般可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括基本的超文本标记语言(hypertextmarkuplanguage,html)和级联样式表(cascadingstylesheet,css)和javascript等。48.前端的开发中,在页面的布局时,html将元素进行定义,css对展示的元素进行定位,再通过javascript实现相应的效果和交互。49.其中,html是前端开发中最常用的语言,经历了多个版本的发展,已经发展到5.0版,得力于万维网联盟(worldwidewebconsortium,w3c)建立的标准和规范,html已普遍升级到了xhtml,xhtml指可扩展超文本标签语言(extensiblehypertextmarkuplanguage,xhtml)。xhtml于2000年的1月26日成为w3c标准,是更严格更纯净的html代码。xhtml与html4.01几乎是相同的,xhtml是作为一种xml应用被重新定义的html,是一个w3c标准。w3c将xhtml定义为最新的html版本。50.级联样式表(cascadingstylesheet,css),通常又称为“风格样式表(stylesheet)”,它是用来进行网页风格设计的。比如,如果想让链接字未点击时是蓝色的,当鼠标移上去后字变成红色的且有下划线,这就是一种风格。通过设立样式表,可以统一地控制html中各标志的显示属性。级联样式表可以有效地控制网页外观。使用级联样式表,可以扩充精确指定网页元素位置,外观以及创建特殊效果的能力。51.javascript是一种由netscape的livescript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,为用户提供更流畅的浏览效果。52.2)、后端53.后端即网站后台部分,是指用户看不见的东西,通常是与前端工程师进行数据交互及网站数据的保存和读取,相对来说后端涉及到的逻辑代码比前端要多的多,后端考虑的是底层业务逻辑的实现,平台的稳定性与性能等。主要用于构建正在工作的应用程序背后的实际逻辑。前端开发人员构建用户界面,而后端开发人员编写代码,使其工作。后端开发人员编写的代码可使得按钮工作,通过指出从数据库中提取哪些数据并将其传回到前端。后端开发人员可能会参与构建框架或系统架构,以便于更容易编写程序。后端开发人员比前端开发人员花费更多的时间在实现算法和解决问题上。后端需要更多地注重应用程序架构,因为大多数情况下,后端需要去构建应用程序的体系结构和内部设计。54.3)、模拟服务55.模拟(mock)服务,也可称为mock测试、模拟测试等,是指以可控的方式模拟真实的对象行为。在进行软件开发的过程中,往往因为真实对象很难实现或短期实现起来很困难因此需要使用模拟服务。真实对象很难实现或短期实现起来很困难的情况有:真实对象可能还不存在(例如,接口还没有完成开发)、真实对象很难搭建起来(例如,第三方支付联调)、真实对象的行为很难触发(例如,网络错误)、真实对象速度很慢(例如,一个完整的数据库,在测试之前可能需要初始化)、真实对象可能包含不能用作测试(而不是为实际工作)的信息和方法、真实的对象是用户界面,或包括用户页面在内、真实的对象使用了回调机制、真实对象的行为是不确定的(例如,当前的时间或当前的温度)。56.随着软件开发技术的迅猛发展,前后端完全分离的思想和其高效、多端支持、强交互的特点逐渐被认可,越来越多的前端开发者使用不同的框架构建前端工程,实现前后端完全分离开发。同时,前端开发的工程化程度及项目复杂程度越来越高,前后端数据交互也愈加频繁;前端工程在进行开发测试时往往既需要对接口数据进行模拟,来模拟各种可能的使用情况;也需要使用后端正式环境、或测试环境中的数据来进行开发联调。可见,前端工程在进行开发时,需要不断将前端工程本地开发环境中的接口进行切换。57.现有技术中,在前端工程开发需要切换本地开发环境中的接口时,需要将前端工程重启,需要修改前端工程本地开发环境中所配置的接口地址;这种方式,由于修改了前端工程本地开发环境中的配置,需要对前端工程进行重启;这将会给从事前端工程开发的工作人员带来不便,会严重影响从事前端工程开发的工作人员的工作效率,会增加前端工程开发的时间成本与人力成本。58.为了解决上述在接口切换时效率低的问题,本技术提供一种前端工程的接口代理方法、装置及介质,可以实现对接口切换的热更新,可以提高前端工程开发的工作人员的工作效率。59.参见图1,图1示出了一种前端工程的接口代理方法流程图;60.s100.接收前端工程发起的接口请求;上述接口请求中至少请求一个接口;61.可以理解的是,前端工程在进行调试,需要调用后端工程的数据时,前端工程会向后端工程发送接口请求;前端工程可以通过接口请求中请求的至少一个应用程序编程接口(applicationprogramminginterface,api)协议从后端工程获取需要的数据;前端工程基于后端工程的数据,进行调试。可以理解的是,本技术实施例中的前端工程可以为全球广域网(worldwideweb,web)前端、小程序前端、pc前端等等。62.s200.启动第一模拟mock服务,为第一mock服务配置至少两个端口;至少两个端口包括:第一端口和第二端口;将接口代理至第一mock服务的第一端口。可以理解的是,本技术实施例中的第一端口与第二端口的端口地址可以根据实际使用需要进行设置;示例性的,可以将第一端口的端口地址设置为3004、第二端口的端口地址可以设置为3005。在本技术实施例中,第一mock服务主要用于对接前端工程的接口,并根据前端接口中的不同的数据,将前端工程接口中的数据进行不同转发。本技术实施例中在使用过程中,前端工程的开发人员在前端工程本地开发环境devserver的proxy配置中,可以将所有接口的地址设置为第一mock服务中第一端口的地址,以使得前端工程接口请求中的接口代理至第一mock服务的第一端口。当前端工程的开发人员对前端工程进行调试需要使用不同的数据时,前端工程本地开发环境devserver的proxy配置中的接口第一始终为第一mock服务中第一端口的地址,不需要重新修改前端工程本地开发环境,可以节约开发人员的开发时间,节省项目开发的开发成本。63.s300.监听第一端口中的数据,得到标志位信息;第一端口中的数据来自于接口,标志位信息用于指示是否对接口启用数据模拟;64.可以理解的是,监听第一端口中的数据,可以通过监听第一端口中的数据是否存在预设的标志位字段来判断,其中标志位字段可以为:前端工程的开发人员在前端工程开发界面手动进行输入的、也可以是前端工程发起接口请求中的与接口请求相关字段、也可以是前端工程通过接口中传输的数据中的特定字段。例如,一种可能例如预设的标志位字段为:“aa=”则当监听到第一端口中的数据存在字段“aa=”时,将标志位字段后的信息截取,得到标志位信息。并根据上述字段“aa”的实际开发情况,以及情况决定针对字段“aa”返还信息的来源是数据模拟还是真实环境、测试环境等。65.作为一种可能的实施方式,监听第一端口中的数据,可以包括:使用nodemon工具监听第一端口中的数据。nodemon工具可以准确的对第一端口中的数据进行监听,可以更加及时准确的得到标志位信息。66.s400a.响应于启用数据模拟,启动第二mock服务,通过第二端口将接口中数据转发至第二mock服务;第二mock服务基于接口中的数据进行数据模拟得到模拟数据,并将模拟数据返还接口;67.可以理解的是,本技术实施例中的第一mock服务、第二mock服务均可以部署在前端工程本地;68.在一些可能的实施方式中,本技术还可以使用,nodejs在启动上述第一mock服务和第二mock服务,并为第一mock服务第二mock服务设置允许跨域。第一mock服务、第二mock服务也可以部署在前端工程本地,第一mock服务与第二mock服务可以采用下述方式实现,如mock.js、faker.js、json-server和使用node.js的静态的json文件服务器等。此处为现有技术,本技术对此不再赘述。69.上述第二mock服务主要用于对第一mock服务中第二端口所传输的数据进行数据模拟,并将数据模拟结果返还给第一mock服务的第二端口,并在后续通过第一mock服务的第一端口返还至上述前端工程。第二mock服务的数据模拟过程可以理解为,基于开发人员预先的配置,基于预设格式的输入数据返还预设格式的数据;例如在一些情况下,第二mock服务可以被配置为函数形式;一种示例性的函数形式为:y=ax+b,其中a与b均为实数;x为第二mock服务的输入数据,y为第二mock函数的输出数据。在通过数据获取函数调用api从服务器中获取调试数据时,可以是通过数据获取函数调用其所封装的api,从第二mock服务中获取调试数据。在获取过程中,可以是前端工程调试装置向第二mock服务发送符合其约定的api协议的调试数据获取请求,第二mock服务在接收到调试数据获取请求后,确定该调试数据获取请求符合约定的api协议,根据该调试数据获取请求,向前端工程调试装置发送调试数据获取请求所请求的调试数据。70.s400b.响应于不启用数据模拟,通过第二端口将接口中数据转发至第一对象;第一对象基于接口中的数据进行工作得到工作数据,并将工作数据返还接口。可以理解的是,本技术实施例中的第一mock服务对于位于第一端口的前端工程来讲,第一mock服务是模拟数据的提供者,即第一mock服务基于前端工程的数据需求提供对应的数据,该数据可以为模拟数据也可以为真实的数据。对于位于第二端口的第二mock服务或第一对象来讲,第一mock服务是模拟数据的需求者,即第一mock服务向第二mock服务或第一对象提出数据需求,第二mock服务或第一对象基于数据需求向第一mock服务返还数据。71.作为一种可能的实施方式,本技术中的第一mock服务可以使用http-proxy-middleware中间件进行数据的转发;使用http-proxy-middleware中间件可以根据上述标志位信息转发前端工程的请求。72.可以理解的是,本技术实施例中的第一对象,在具体应用中,可以包括:后端工程、测试环境、正式环境中的任一种。后端工程可以理解为正在开发过程中的后端工程或后端工程项目,后端工程项目可以根据前端工程的api,向前端工程传输特定的数据,以使得前端工程可以实现相应的功能;例如前端工程通过api发送了一个数据查询请求,后端工程通过上述前端工程api中传输的数据,查询数据库中的相应的数据,并将该数据通过上述api返还给前端工程,以使得前端工程展示该数据查询结果,使得完成此次数据查询工作。作为一种可能的实施方式,上述数据库可以为,关系数据库(如mysql等)、非关系数据库(如bigtable等)、键值(key-value)数据库(如apachecassandra等)中的任意一种或多种,本技术对此不做限定。测试环境可以理解为完成前端工程测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称。可以看出测试环境是包含了软硬件所有相关事物的。测试环境建立是希望能更好的辅助前端工程开发,避免到正式环境后出现问题而反复改动,影响用户正常使用,所以测试环境的所有配置(含数据)应该是需要和正式环境尽可能一致的。因为测试环境是要尽可能和正式环境保持一致,所以通常情况下,测试环境都是一式一用的,不同应用间是不会共享的,并且测试环境的软硬件配置需求在不同应用间通常也是会随业务需求、研发投入、开发团队技术水平等限制而不尽相同。对于测试环境的硬件配置,业内一般选择的测试环境硬件配置是1台前端服务器+2台后端服务器+1台后端负载均衡+1台数据库,这个配置基本能承担起大部分应用的测试环境硬件需求。测试环境可以提高开发过程中抗风险能力。73.综上,本技术实施例使用第一mock服务去对接前端工程本地开发环境的接口,在前端工程的开发人员对前端工程进行调试需要使用不同的数据时,前端工程本地开发环境devserver的proxy配置中的接口第一始终为第一mock服务中第一端口的地址,不需要重新修改前端工程本地开发环境,可以节约开发人员的开发时间,节省项目开发的开发成本。本技术实施例使用第一mock服务对接口中的数据进行监听得到标志位信息,并基于标志位信息来决定是否使用数据模拟,决定第二端口数据的转发目标;可以实现对接口切换的热更新,可以使得前端工程开发人员在对前端工程进行调试时,无需重启前端工程,重新对前端工程本地环境进行配置,从而可以提升前端工程开发人员的工作效率,可以节约前端工程开发人员的开发时间,可以节约前端工程的开发成本。74.在某前端工程开发过程中,前端工程开发完毕,需要对前端工程进行开发联调;由于该前端工程开发时面向的用户量比较大,在联调的过程中需要使用数据模拟服务辅助测试环境对该前端工程进行联调,使用本技术提供的前端工程的接口代理方法,该方法的示意图参见图2。75.在联调准备阶段,可以将前端工程2200所请求的全部接口,代理至第一mock服务2201的第一端口;并为第一mock服务配置三个端口,分别为第一端口、第二端口与第三端口;第一mock服务2201的第二端口,被配置为向第二mock服务2202转发数据,第一mock服务2201的第三端口,被配置为向测试环境2203转发数据。76.第二mock服务2202可以对前端工程接口中的数据进行模拟,并将模拟接口通过第二端口,经过第一mock服务2201的转发,返还至前端工程2200。77.测试环境2203可以基于前端工程接口中的数据进行工作,并将工作数据通过第二端口,经过第一mock服务2201转发,返还至前端工程2200。可以理解的是,上述测试环境基于前端工程接口中的数据进行工作,包括:数据查询、数值计算、权限验证、视频展示、图片展示等等。相对应的,上述工作数据,可以包括:数据查询的结果、数值计算结果、权限验证的结果、视频展示的链接、图片展示的链接等等,在此不再赘述。78.在联调开始阶段,第一mock服务2201,监听前端工程2200通过第一端口发送的数据,并得到标志位信息;并通过标志位信息判断是否对该数据启用数据模拟。79.响应于启动数据模拟,第一mock服务2201通过第二端口将前端工程接口中的数据转发至第二mock服务2202。80.响应于不启动数据模拟,第一mock服务2201通过第三端口将前端工程接口中的数据转发至测试环境2203。81.具体的,在进行联调时,需要对前端工程2200的某项功能进行联调测试,例如用户登录功能;用户在前端界面输入用户名、密码和验证码;在对用户登录功能进行联调时,需要使用数据模拟服务对用户输入的用户名、密码进行校验,校验用户名、密码的有效性;还需要使用测试环境,验证测试环境的验证码校验功能。82.前端工程2200将用户名数据、密码数据以及验证码数据通过接口传输给第一mock服务2201,第一mock服务2201监视将用户名数据、密码数据以及验证码数据,得到标志位信息。示例性的,当第一mock服务2201通过第一端口接收的数据中出现字段“user_name”,“user_password”时,将具有该字段的用户名数据、密码数据通过第二端口发送给第二mock服务2202,第二mock服务2202基于该数据进行数据模拟,并将模拟后的数据返还给前端工程2200;当第一mock服务2201通过第一端口接收的数据中出现字段“verification_code”时,则将具有该字段的数据通过第三端口发送给测试环境2203,测试环境验证具有该字段的验证码数据的有效性,并将验证结果通过第一端口返还给前端工程2200。前端工程2200基于该验证结果、模拟后的数据,对用户输入的用户名、密码和验证码提供不同的反馈。83.本技术通过将接口请求中的接口代理至第一mock服务2201的第一端口,当前端工程2200需要切换数据来源时,可以无需更改前端工程本地开发环境中的接口配置,仅修改第一mock服务的端口代理就可以实现对接口数据的切换,可以使得接口相对于连接关系不变,不需要更改前端工程本地开发环境中的接口配置;可以节约开发人员的进行联调的时间,可以节约项目的开发成本。84.本技术实施例可以根据上述方法示例对一种前端工程的接口代理装置进行功能模块或者功能单元的划分,例如,可以对应各个功能划分各个功能模块或者功能单元,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块或者功能单元的形式实现。其中,本技术实施例中对模块或者单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。85.如图3所示,为本技术实施例提供的一种前端工程的接口代理装置的结构示意图,该装置包括:86.通信单元202,用于接收前端工程发起的接口请求;接口请求中至少请求一个接口;87.处理单元201,用于启动第一模拟mock服务,为第一mock服务配置至少两个端口;至少两个端口包括:第一端口和第二端口;将接口代理至第一mock服务的第一端口;88.处理单元201,还用于监听第一端口中的数据,得到标志位信息;第一端口中的数据来自于接口,标志位信息用于指示是否对接口启用数据模拟;89.响应于启用数据模拟,启动第二mock服务,通过第二端口将接口中数据转发至第二mock服务;第二mock服务基于接口中的数据进行数据模拟得到模拟数据,并将模拟数据返还接口;90.响应于不启用数据模拟,通过第二端口将接口中数据转发至第一对象;第一对象基于接口中的数据进行工作得到工作数据,并将工作数据返还接口;第一对象包括:后端工程、测试环境、正式环境中的任一种。91.作为一种可能的实施方式,监听第一端口中的数据,包括:使用nodemon工具监听第一端口中的数据92.作为一种可能的实施方式,将接口代理至第一mock服务的第一端口,包括:93.在前端工程本地开发环境的配置中将接口地址代理至第一mock服务的第一端口。94.作为一种可能的实施方式,通过第二端口将接口中数据转发至第一对象,包括:使用代理及转发工具,通过第二端口将接口中数据转发至第一对象,代理及转发工具包括:http-proxy-middleware。95.在通过硬件实现时,本技术实施例中的通信单元202可以集成在通信接口上,处理单元201可以集成在处理器上。具体实现方式如图4所示。96.图4示出了上述实施例中所涉及的一种前端工程的接口代理装置的又一种可能的结构示意图。该前端工程的接口代理装置包括:处理器302和通信接口303。处理器302用于对前端工程的接口代理装置的动作进行控制管理,例如,执行上述处理单元201执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信接口303用于支持前端工程的接口代理装置与其他网络实体的通信,例如,执行上述通信单元202执行的步骤。前端工程的接口代理装置还可以包括存储器301和总线304,存储器301用于存储前端工程的接口代理装置的程序代码和数据。97.其中,存储器301可以是前端工程的接口代理装置中的存储器等,该存储器可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。98.上述处理器302可以是实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。99.总线304可以是扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。总线304可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。100.图5是本技术实施例提供的芯片170的结构示意图。芯片170包括一个或两个以上(包括两个)处理器1710和通信接口1730。101.可选的,该芯片170还包括存储器1740,存储器1740可以包括只读存储器和随机存取存储器,并向处理器1710提供操作指令和数据。存储器1740的一部分还可以包括非易失性随机存取存储器(non-volatilerandomaccessmemory,nvram)。102.在一些实施方式中,存储器1740存储了如下的元素,执行模块或者数据结构,或者他们的子集,或者他们的扩展集。103.在本技术实施例中,通过调用存储器1740存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。104.其中,上述处理器1710可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,单元和电路。该处理器可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,单元和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。105.存储器1740可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。106.总线1720可以是扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。总线1720可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。107.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。108.本技术实施例提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行上述方法实施例中的前端工程的接口代理方法。109.本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得该计算机执行上述方法实施例所示的方法流程中的前端工程的接口代理方法。110.其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(randomaccessmemory,ram)、只读存储器(read-onlymemory,rom)、可擦式可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、寄存器、硬盘、光纤、便携式紧凑磁盘只读存储器(compactdiscread-onlymemory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合、或者本领域熟知的任何其它形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(applicationspecificintegratedcircuit,asic)中。在本技术实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。111.本发明的实施例提供一种包含指令的计算机程序产品,当指令在计算机上运行时,使得计算机执行如图1至图2中所述的一种前端工程的接口代理方法。112.由于本发明的实施例中的前端工程的接口代理装置、计算机可读存储介质、计算机程序产品可以应用于上述方法,因此,其所能获得的技术效果也可参考上述方法实施例,本发明实施例在此不再赘述。113.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。114.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。115.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。116.以上,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。当前第1页12当前第1页12
技术特征:
1.一种前端工程的接口代理方法,其特征在于,所述方法包括:接收前端工程发起的接口请求;所述接口请求中至少请求一个接口;启动第一模拟mock服务,为所述第一mock服务配置至少两个端口;所述至少两个端口包括:第一端口和第二端口;将所述接口代理至第一mock服务的第一端口;监听所述第一端口中的数据,得到标志位信息;所述第一端口中的数据来自于所述接口,所述标志位信息用于指示是否对所述接口启用数据模拟;响应于启用数据模拟,启动第二mock服务,通过第二端口将所述接口中数据转发至第二mock服务;所述第二mock服务基于所述接口中的数据进行数据模拟得到模拟数据,并将所述模拟数据返还所述接口;响应于不启用数据模拟,通过第二端口将所述接口中数据转发至第一对象;所述第一对象基于所述接口中的数据进行工作得到工作数据,并将所述工作数据返还所述接口;所述第一对象包括:后端工程、测试环境、正式环境中的任一种。2.根据权利要求1所述的方法,其特征在于,所述监听所述第一端口中的数据,包括:使用nodemon工具监听所述第一端口中的数据。3.根据权利要求1所述的方法,其特征在于,所述将所述接口代理至第一mock服务的第一端口,包括:在前端工程本地开发环境的配置中将接口地址代理至第一mock服务的第一端口。4.根据权利要求1至3任一项所述的方法,其特征在于,所述通过第二端口将所述接口中数据转发至第一对象,包括:使用代理及转发工具,通过第二端口将所述接口中数据转发至第一对象,所述代理及转发工具包括:http-proxy-middleware。5.一种前端工程的接口代理装置,其特征在于,所述装置包括:通信单元,用于接收前端工程发起的接口请求;所述接口请求中至少请求一个接口;处理单元,用于启动第一模拟mock服务,为所述第一mock服务配置至少两个端口;所述至少两个端口包括:第一端口和第二端口;将所述接口代理至第一mock服务的第一端口;所述处理单元还用于监听所述第一端口中的数据,得到标志位信息;所述第一端口中的数据来自于所述接口,所述标志位信息用于指示是否对所述接口启用数据模拟;响应于启用数据模拟,启动第二mock服务,通过第二端口将所述接口中数据转发至第二mock服务;所述第二mock服务基于所述接口中的数据进行数据模拟得到模拟数据,并将所述模拟数据返还所述接口;响应于不启用数据模拟,通过第二端口将所述接口中数据转发至第一对象;所述第一对象基于所述接口中的数据进行工作得到工作数据,并将所述工作数据返还所述接口;所述第一对象包括:后端工程、测试环境、正式环境中的任一种。6.根据权利要求5所述的装置,其特征在于,所述监听所述第一端口中的数据,包括:使用nodemon工具监听所述第一端口中的数据。7.根据权利要求5所述的装置,其特征在于,所述将所述接口代理至第一mock服务的第一端口,包括:在前端工程本地开发环境的配置中将接口地址代理至第一mock服务的第一端口。8.根据权利要求5至7任一项所述的装置,其特征在于,所述通过第二端口将所述接口
中数据转发至第一对象,包括:使用代理及转发工具,通过第二端口将所述接口中数据转发至第一对象,所述代理及转发工具包括:http-proxy-middleware。9.一种前端工程的接口代理装置,其特征在于,包括:处理器和通信接口;所述通信接口和所述处理器耦合,所述处理器用于运行计算机程序或指令,以实现如权利要求1至4任一项所述的方法。10.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当计算机执行该指令时,该计算机执行上述权利要求1至4任一项所述的方法。
技术总结
本申请涉及软件开发领域,尤其涉及一种前端工程的接口代理方法、装置及介质。该方法包括:接收前端工程发起的接口请求;接口请求中至少请求一个接口;启动第一模拟mock服务,为第一mock服务配置至少两个端口;至少两个端口包括:第一端口和第二端口;将接口代理至第一mock服务的第一端口;监听第一端口中的数据,得到标志位信息;响应于启用数据模拟,启动第二mock服务,通过第二端口将接口中数据转发至第二mock服务;响应于不启用数据模拟,通过第二端口将接口中数据转发至第一对象;第一对象包括:后端工程、测试环境、正式环境中的任一种。本申请提供的方法可以节约开发人员的开发时间,节省项目开发的开发成本。节省项目开发的开发成本。节省项目开发的开发成本。
技术研发人员:侯冠东 赖英杰 庞飞龙 梁波
受保护的技术使用者:中国联合网络通信集团有限公司
技术研发日:2022.12.16
技术公布日:2023/7/31
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/