CN112671574A - 前后端联调方法、装置、代理设备及存储介质 - Google Patents
前后端联调方法、装置、代理设备及存储介质 Download PDFInfo
- Publication number
- CN112671574A CN112671574A CN202011514966.9A CN202011514966A CN112671574A CN 112671574 A CN112671574 A CN 112671574A CN 202011514966 A CN202011514966 A CN 202011514966A CN 112671574 A CN112671574 A CN 112671574A
- Authority
- CN
- China
- Prior art keywords
- service
- request
- address
- port number
- backend
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000004044 response Effects 0.000 claims abstract description 91
- 230000003068 static effect Effects 0.000 claims description 47
- 238000011161 development Methods 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 15
- 238000004891 communication Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000013507 mapping Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 238000012827 research and development Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本申请实施例提供了一种前后端联调方法、装置、代理设备及存储介质,该方法包括:检测后端设备提交的请求;若检测到所述后端设备基于前端页面提交的请求,并确定所述请求为应用程序接口API请求,则获取所述API请求指示的后端服务设备的互联网协议IP地址,并获取所述API请求访问的目标服务在所述后端服务设备上的端口号;根据所述IP地址以及所述端口号将所述API请求转发至所述后端服务设备;接收所述后端服务设备响应于所述API请求返回的第一响应结果,并将所述第一响应结果转发至所述后端设备。采用本申请,可以提升前后端联调效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种前后端联调方法、装置、代理设备及存储介质。
背景技术
前后端联调过程中,有一系列需要解决的问题,其中一个很重要的迫切要解决的问题就是在调试的过程中,服务数据接口的代码是放在后台的那位开发人员的电脑上,而你作为一名前端,页面样式特效的代码是放在你自己的电脑上,如何进行关联呢?
对于代理服务器的正向代理的过程,一般一台真实的服务器在接受访问的时候,可能不是直接被访问,而是跟代理服务器通讯,把结果先给代理服务器,再由代理服务器传达给客户端,这种代理服务器充当客户端向目标服务器发送请求并返回结果的代理过程就是正向代理。而反向代理则相反,这时候的代理服务器充当的是服务器端,解决的是前后端联调,跨域等等一系列的问题。目前大部分的前后端分离的应用都是通过反向代理的方案来解决前后端联调的问题。
然而,前后端联调的反向代理方案也有一些存在的不足,最显著的问题是一个前端的项目只能自己去代理到某个后台服务器,后台的研发工程师如果有超过两个人,就没办法通过一个前端工程师自身的开发环境进行自身后台服务的调试,只能通过把自身的后台代码放到开发环境进行远程调试,或是拿到前端的打包的工程进行正向代理,代理到自己的服务,该过程没办法实时跟前端工程师联调,因为每次都是拿到前端工程师打包的静态包,不是实时前端工程师的工程。可见,上述联调的方式降低了前后端联调效率。
发明内容
本申请实施例提供了一种前后端联调方法、装置、代理设备及存储介质,可以提升前后端联调效率。
第一方面,本申请实施例提供了一种前后端联调方法,应用于代理设备,包括:
检测后端设备提交的请求;
若检测到所述后端设备基于前端页面提交的请求,并确定所述请求为应用程序接口API请求,则获取所述API请求指示的后端服务设备的互联网协议IP地址,并获取所述API请求访问的目标服务在所述后端服务设备上的端口号;
根据所述IP地址以及所述端口号将所述API请求转发至所述后端服务设备;
接收所述后端服务设备响应于所述API请求返回的第一响应结果,并将所述第一响应结果转发至所述后端设备。
可选地,所述API请求携带第一链接地址,所述第一链接地址包括所述API请求访问的目标服务在所述后端服务设备上的端口号,所述获取所述API请求访问的目标服务在所述后端服务设备上的端口号,包括:
获取所述第一链接地址包括的所述目标服务在所述后端服务设备上的端口号。
可选地,所述代理设备包括预设配置文件,所述预设配置文件包括所述API请求访问的目标服务在所述后端服务设备上的端口号,所述获取所述API请求访问的目标服务在所述后端服务设备上的端口号,包括:
获取所述预设配置文件包括的所述目标服务在所述后端服务设备上的端口号。
可选地,所述API请求携带第一链接地址,所述第一链接地址包括所述API请求访问的目标服务的目标资源的地址信息,所述预设配置文件记录了至少一个服务中每个服务在所述后端服务设备上的端口号与所述每个服务的各项资源的地址信息之间对应关系,所述获取所述预设配置文件包括的所述目标服务在所述后端服务设备上的端口号,包括:
根据所述预设配置文件记录的所述对应关系以及所述第一链接地址包括的所述目标服务的目标资源的地址信息,确定所述目标服务在所述后端服务设备上的端口号;
从所述预设配置文件中,读取所述目标服务在所述后端服务设备上的端口号。
可选地,所述获取所述API请求指示的后端服务设备的IP地址,包括:
从所述后端设备获取所述后端服务设备的IP地址;或,
当所述API请求携带所述后端服务设备的IP地址时,获取所述API请求携带的所述后端服务设备的IP地址。
可选地,所述根据所述IP地址以及所述端口号将所述API请求转发至所述后端服务设备,包括:
根据所述IP地址以及所述端口号构建第二链接地址;
根据所述第二链接地址将所述API请求转发至所述后端服务设备。
可选地,所述方法还包括:
若检测到所述后端设备基于前端页面提交的请求,并确定所述请求为静态资源请求,则获取所述静态资源请求指示的前端服务设备的开发环境的链接地址;
根据所述前端服务设备的开发环境的链接地址将所述静态资源请求转发至所述前端服务设备;
接收所述前端服务设备响应于所述静态资源请求返回的第二响应结果,并将所述第二响应结果转发至所述后端设备。
第二方面,本申请实施例提供了一种前后端联调装置,应用于代理设备,包括:
处理模块,用于检测后端设备提交的请求;
所述处理模块,还用于若检测到所述后端设备基于前端页面提交的请求,并确定所述请求为应用程序接口API请求,则获取所述API请求指示的后端服务设备的互联网协议IP地址,并获取所述API请求访问的目标服务在所述后端服务设备上的端口号;
通信模块,用于根据所述IP地址以及所述端口号将所述API请求转发至所述后端服务设备;
所述通信模块,还用于接收所述后端服务设备响应于所述API请求返回的第一响应结果,并将所述第一响应结果转发至所述后端设备。
第三方面,本申请实施例提供了一种代理设备,包括处理器、输入设备、输出设备和存储器,所述处理器、所述输入设备、所述输出设备和所述存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如第一方面所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现如第一方面所述的方法。
综上所述,代理设备可以在检测到该后端设备基于前端页面提交的请求且确定该请求为API请求时,获取该API请求指示的后端服务设备的IP地址,并获取该API请求访问的目标服务在后端服务设备上的端口号,从而根据该IP地址以及该端口号将该API请求转发至后端服务设备,并接收该后端服务设备响应于该API请求返回的第一响应结果以将该第一响应结果转发至该后端设备,本申请可以实现前后端多对多联调,联调的灵活性比现有技术的联调方案高很多,大大提高了前后端联调效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种前后端联调方法的流程示意图;
图2是本申请实施例提供的另一种前后端联调方法的流程示意图;
图3是本申请实施例提供的一种前后端联调场景示意图;
图4是本申请实施例提供的一种前后端联调系统的网络架构示意图;
图5是本申请实施例提供的一种前后端联调装置的结构示意图;
图6是本申请实施例提供的一种代理设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
本申请实施例提及的代理设备是指能够实现代理功能,如反向代理功能的终端或服务器。在一个实施例中,所述的代理设备可以安装转发程序,如nodejs转发程序,nodejs转发程序能够提供nodejs转发服务,相当于nginx的反向代理服务。
本申请实施例提及的前端服务设备可以为前端设备(如前端开发人员对应电脑)或前端设备对应的服务器,前端服务设备可以包括前端工程师开发的代码。本申请实施例提及的后端服务设备可以为后端设备(如后端开发人员对应的电脑)或后端对应的服务器,该后端服务设备可以包括后端工程师开发的代码。
在一个应用场景中,在后台服务设备为后台设备时,采用本申请可以实现:代理设备在收到后端的请求后,如果确定该请求为应用程序接口(Application ProgrammingInterface,API)请求,就先进行访问者互联网协议(Internet Protocol,IP)地址的获取,也就是获取后端自身的IP地址,然后拼接成后端自己的服务的统一资源定位器(UniformResource Locator,URL),把原本往这个服务的API请求反向代理到后端自己的服务上,从而实现在代理设备上启动一个nodejs转发服务,让不同的后端工程师通过访问同一个前端页面路径,反向调试自己机器上的后端服务,进而达到后端与前端多对一调试的目的。可见,在确定该请求为API请求的情况下,代理设备可以统一请求后端自身启动的服务。本申请可以让不同的后端工程师通过访问同一个前端页面路径,反向调试自己机器上的后端服务,大大提高后端工程师调试线上问题的效率,而且不影响原有线上功能。摆脱直接线上看日志排查错误的麻烦。再一个应用场景中,如果确定该请求为静态资源请求,代理设备可以反向代理到前端服务设备。
在一个实施例中,前端设备可以启动一个开发环境,前端设备自己决定反向代理到哪个后台进行原有的一对一的前后端联调,该过程从前端的角度上来看还是原本的一对一联调。不同前端工程师可以通过采用本申请实施例在只启动一个工程的情况下同时跟多个后台联调,本申请实施例在此不做赘述。
请参阅图1,为本申请实施例提供的一种前后端联调方法的流程示意图。该方法可以应用于前述提及的代理设备。具体的,该方法可以包括以下步骤:
S101、检测后端设备提交的请求。
本申请实施例中,代理设备可以检测后端设备提交的请求,如可以检测后端设备基于前端页面提交的请求。其中,前端页面可以为前端开发人员开发的页面。前端和后端可以基于该前端页面实现前后端联调过程。该前端页面可以是后端设备通过代理设备从前端服务设备获取的。该请求可以为API请求或静态资源请求。
在一个实施例中,所述的API请求可以携带第一链接地址。该第一链接地址可以是后端设备基于前端页面获取到的链接地址,如可以为基于前端页面输入的链接地址。该第一链接地址可以包括代理设备的地址信息,如代理设备的IP地址和端口号。
S102、若检测到所述后端设备基于前端页面提交的请求,并确定所述请求为应用程序接口API请求,则获取所述API请求指示的后端服务设备的互联网协议IP地址,并获取所述API请求访问的目标服务在所述后端服务设备上的端口号。
本申请实施例中,代理设备可以在检测到该后端设备基于前端页面提交的请求,并确定该请求为应用程序接口API请求时,获取该API请求指示的后端服务设备的IP地址,并获取该API请求访问的目标服务在该后端服务设备上的端口号。该后端服务设备的IP地址是由后端设备提供的,该目标服务在该后端服务设备上的端口号也是由该后端设备提供的。该目标服务为API请求访问的服务。该后端服务设备可以为后端服务器或后端设备。
本申请实施例中,代理设备可以实时获取API请求指示的后端服务设备的IP地址,并实时获取API请求访问的目标服务在后端服务设备上的端口号以用于API请求的转发。然而,现有技术在前后端联调时,会指定域名与后端服务设备的IP地址的映射关系,这就导致一个前端的项目只能代理到一个后端服务设备,当后端开发工程师有多个时,多个后端开发工程师就没有办法通过现有技术的该方式实现自身后台服务的调试。相较于现有技术,本申请实施例由于可以实时获取该后端服务设备的IP地址,并实时获取该目标服务在后端服务设备上的端口号以用于API请求的转发,在面对上述存在多个后端开发工程师的情况下,多个后端开发工程师能够通过本申请的该方式实现自身后台服务的调试,如可以基于同一前端页面实现自身后台服务的调试。
在一个实施例中,代理设备可以识别后端设备基于该前端页面提交的请求是否包括第一关键字;代理设备若识别到后端设备基于该前端页面提交的请求包括第一关键字,则可以确定该请求为API请求。其中,该第一关键字可以为任一用于标识API请求的关键字。或,电子设备若识别到后端设备基于该前端页面提交的请求的前缀包括第一关键字,则可以确定该请求为API请求。
在一个实施例中,代理设备获取该API请求指示的后端服务设备的IP地址的方式可以为代理设备从后端设备获取该后端服务设备的IP地址。例如,代理设备可以接收该后端设备发送的该后端服务设备的IP地址。相较于现有技术通过配置域名和后端服务设备的IP地址的映射关系导致多个后端工程师无法访问自己的后台服务的情况,本申请实施例中代理设备可以实时从后端设备获取该后端服务设备的IP地址,并通过该后端服务设备的IP地址以及该目标服务在该后端服务设备上的端口号,使得相应后端工程师能够准确地访问自己的后台服务。
在一个实施例中,代理设备获取该API请求指示的后端服务设备的IP地址的方式可以为:代理设备在该API请求携带该后端服务设备的IP地址时,获取该API请求携带的该后端服务设备的IP地址。相较于现有技术通过配置域名和后端服务设备的IP地址的映射关系导致多个后端工程师无法访问自己的后台服务的情况,本申请实施例中代理设备可以动态获取API请求携带的该后端服务设备的IP地址,并通过该后端服务设备的IP地址以及该目标服务在该后端服务设备上的端口号,使得相应后端工程师能够准确地访问自己的后台服务。
在一个实施例中,所述的第一链接地址还可以包括API请求访问的目标服务在后端服务设备上的端口号。和/或,该第一链接地址还可以包括该API请求访问的目标服务的目标资源的地址信息。
在一个实施例中,当该第一链接地址包括该目标服务在该后端服务设备上的端口号时,代理设备获取该API请求访问的目标服务在该后端服务设备上的端口号的过程可以为代理设备获取该第一链接地址包括的该目标服务在该后端服务设备上的端口号。相较于现有技术通过配置域名和后端服务设备的IP地址的映射关系导致多个后端工程师无法访问自己的后台服务的情况,本申请实施例中代理设备可以实时获取该第一链接地址包括的该目标服务在该后端服务设备上的端口号,并通过该后端服务设备的IP地址以及该目标服务在该后端服务设备上的端口号,使得相应后端工程师能够准确地访问自己的后台服务。
在一个实施例中,代理设备可以包括预设配置文件,该预设配置文件包括该API请求访问的目标服务在该后端服务设备上的端口号。相应地,代理设备获取该API请求访问的目标服务在该后端服务设备上的端口号的过程可以为代理设备获取该预设配置文件包括的该目标服务在该后端服务设备上的端口号。相较于现有技术通过配置域名和后端服务设备的IP地址的映射关系导致多个后端工程师无法访问自己的后台服务的情况,本申请实施例中代理设备可以实时获取该预设配置文件包括的该目标服务在该后端服务设备上的端口号,并通过该后端服务设备的IP地址以及该目标服务在该后端服务设备上的端口号,使得相应后端工程师能够准确地访问自己的后台服务。
在一个实施例中,上述提及的预设配置文件可以记录至少一个服务中每个服务在该后端服务设备上的端口号与该每个服务的各项资源的地址信息之间对应关系。相应地,当该第一链接地址包括该API请求访问的目标服务的目标资源的地址信息时,代理设备获取该预设配置文件包括的该目标服务在该后端服务设备上的端口号过程可以为代理设备根据该预设配置文件记录的该对应关系以及该第一链接地址包括的该目标服务的目标资源的地址信息,确定该目标服务在该后端服务设备上的端口号。代理设备具体可根据该对应关系确定该第一链接地址包括的该目标服务的目标资源的地址信息对应的该目标服务在后端服务设备上的端口号。代理设备从预设配置文件中,读取该目标服务在该后端服务设备上的端口号。该过程无需通过第一链接地址来传递端口号,便可以实现实时获取端口号。
在一个实施例中,当第一链接地址还包括API请求访问的目标服务在后端服务设备上的端口号并且该第一链接地址还可以包括该API请求访问的目标服务的目标资源的地址信息时,代理设备获取API请求访问的目标服务在后端服务设备上的端口号可以包括以下至少一种方式:一、获取第一链接地址包括的目标服务在后端服务设备上的端口号;二、获取预设配置文件包括的目标服务在后端服务设备上的端口号。
在一个实施例,考虑到预设配置文件可能存在端口号更新不及时的情况,因此当获取预设配置文件包括的目标服务在后端服务设备上的端口号时,代理设备可以以第一种方式获取的端口号为准来转发API请求。
S103、根据所述IP地址以及所述端口号将所述API请求转发至所述后端服务设备。
本申请实施例中,代理设备可以根据该IP地址(指该API请求指示的后端服务设备的IP地址)以及该端口号(指该API请求访问的目标服务在所述后端服务设备上的端口号)将该API请求转发至后端服务设备。后端服务设备可以响应于该API请求,获得第一响应结果,并将该第一响应结果返回至代理设备。具体的,代理设备可以根据该IP地址以及该端口号将API请求转发至后端服务设备的该目标服务。后端服务设备可以通过该目标服务响应于该API请求,获得第一响应结果,并将该第一响应结果返回至代理设备。其中,第一响应结果是指后端服务设备响应于该API请求获得的响应结果,该第一响应结果具体可以为该API请求指示的数据。
在一个实施例中,代理设备根据该IP地址以及该端口号将该API请求转发至该后端服务设备的过程可以为代理设备根据该IP地址以及该端口号构建第二链接地址,并根据该第二链接地址将该API请求转发至该后端服务设备。此处的第二链接地址为根据该IP地址和该端口号构建的链接地址。具体的,代理设备可以根据该第二链接地址将该API请求转发至后端服务设备的该目标服务。在一个实施例中,后端服务设备可以接收代理设备转发的API请求,该API请求可以携带该第二链接地址,然后根据该第二链接地址以及该API请求的其它参数获取第一响应结果。本申请实施例通过构建第二链接地址,可以方便后端服务设备根据第二链接地址对该API请求进行有效地处理。
在一个实施例中,当该API请求携带第一链接地址,该第一链接地址包括API请求访问的目标服务的目标资源的地址信息时,代理设备根据该IP地址以及该端口号将该API请求转发至该后端服务设备的过程可以为代理设备根据该IP地址、该端口号以及该目标服务的目标资源的地址信息构建第二链接地址,并根据该第二链接地址将该API请求转发至该后端服务设备。采用该过程,可以对目标服务的目标资源进行有效的访问。
在一个实施例中,代理设备根据该IP地址和该端口号的过程可以为代理设备按照预设的组装规则对该IP地址和该端口号进行拼接处理,得到第二链接地址。在一个实施例中,代理设备根据该IP地址、该端口号以及该目标服务的目标资源的地址信息构建第二链接地址的过程可以为代理设备按照预设的组装规则对该IP地址、该端口号以及该目标服务的目标资源的地址信息进行拼接处理,得到第二链接地址。
S104、接收所述后端服务设备响应于所述API请求返回的第一响应结果,并将所述第一响应结果转发至所述后端设备。
本申请实施例中,代理设备可以接收该后端服务设备响应于该API请求返回的第一响应结果,并将该第一响应结果转发至该后端设备。在一个应用场景中,后端设备可以显示第一响应结果,并判断第一响应结果是否正确,并在不正确时,对相应程序代码进行调试,从而完成前后端联调。
可见,图1所示的实施例中,代理设备可以在检测到该后端设备基于前端页面提交的请求且确定该请求为API请求时,获取该API请求指示的后端服务设备的IP地址,并获取该API请求访问的目标服务在后端服务设备上的端口号,从而根据该IP地址以及该端口号将该API请求转发至后端服务设备,并接收该后端服务设备响应于该API请求返回的第一响应结果以将该第一响应结果转发至该后端设备,从而达到前后端多对多联调的目的,进而提升联调效率。
请参阅图2,为本申请实施例提供的另一种前后端联调方法的流程示意图。该方法可以应用于前述提及的代理设备。具体的,该方法可以包括以下步骤:
S201、检测后端设备提交的请求。
S202、若检测到所述后端设备基于前端页面提交的请求,并确定所述请求为应用程序接口API请求,则获取所述API请求指示的后端服务设备的互联网协议IP地址,并获取所述API请求访问的目标服务在所述后端服务设备上的端口号。
S203、根据所述IP地址以及所述端口号将所述API请求转发至所述后端服务设备。
S204、接收所述后端服务设备响应于所述API请求返回的第一响应结果,并将所述第一响应结果转发至所述后端设备。
其中,步骤S201-步骤S204可参见图1实施例中的步骤S101-步骤S104,本申请实施例在此不做赘述。
本申请实施例中,步骤S201和步骤S205为并列关系。
S205、若检测到所述后端设备基于前端页面提交的请求,并确定所述请求为静态资源请求,则获取所述静态资源请求指示的前端服务设备的开发环境的链接地址。
本申请实施例中,与该请求为API请求时获取的IP地址和端口号不同的是,代理设备可以在检测到该后端设备基于前端页面提交的请求,并确定该请求为静态资源请求时,获取该静态资源请求指示的前端服务设备的开发环境的链接地址。
在一个实施例中,代理设备可以识别后端设备基于该前端页面提交的请求是否包括第二关键字;代理设备若识别到后端设备基于该前端页面提交的请求包括第二关键字,则可以确定该请求为静态资源请求。其中,该第二关键字可以为任一用于标识静态资源请求的关键字。
S206、根据所述前端服务设备的开发环境的链接地址将所述静态资源请求转发至所述前端服务设备。
S207、接收所述前端服务设备响应于所述静态资源请求返回的第二响应结果,并将所述第二响应结果转发至所述后端设备。
在步骤S206-步骤S207中,代理设备可以根据前端服务设备的开发环境的链接地址将该静态资源请求转发至前端服务设备。前端服务设备可以响应于该静态资源请求获得第二响应结果,并将该第二响应结果返回至代理设备。该第二响应结果为该静态资源请求指示的静态资源,可以为css、页面等静态资源。代理设备可以接收该前端服务设备响应于该静态资源请求返回该第二响应结果,并将该第二响应结果转发至后端设备,后端设备可以接收该第二响应结果。在一个应用场景中,后端设备可以显示第二响应结果,并判断该第二响应结果是否正确,并在不正确时,对相应程序代码进行调试,从而完成前后端联调。
在一个实施例中,代理设备还可以在检测到后端设备基于该前端页面提交的请求,并确定该请求为静态资源请求时,获取前端服务设备的IP地址和静态资源请求访问的指定服务(指静态资源请求访问的服务)在前端服务设备上的端口号,然后根据前端服务设备的IP地址和指定服务的端口号转发静态资源请求至前端服务设备,并接收前端服务设备根据该静态资源请求返回的第二响应结果,并将该第二响应结果转发至后端设备。
在一个实施例中,代理设备根据前端服务设备的IP地址和指定服务的端口号转发静态资源请求至前端服务设备的方式可以为:代理设备根据前端服务设备的IP地址和指定服务的端口号构建第三链接地址,并根据该第三链接地址转发该静态资源请求至前端服务设备。其中,代理设备获取前端服务设备的IP地址和静态资源请求访问的指定服务(指静态资源请求访问的服务)在前端服务设备上的端口号的方式可以参见前述的代理设备获取后端服务设备的IP地址和API请求访问的目标服务在前端服务设备上的端口号的方式,本申请实施例在此不做赘述。
在一个应用场景中,结合图3来说,在后端服务设备为后端设备时,后端工程师1可以使用后端设备访问代理设备包括的处理程序1,即后端设备可以发送请求至代理设备的nodejs转发程序,如果请求为API请求,则处理程序1可以根据后端设备的IP地址,将API请求反向代理到后端设备,并获取后端设备响应该API请求返回的响应结果以转发至后端设备,如果该请求为静态资源请求,则将该静态资源请求反向代理到前端服务设备的开发环境1,并获取前端服务设备的开发环境1响应该静态资源请求返回的响应结果以转发至后端设备。
可见,图2所示的实施例中,代理设备除了可以在请求为API请求时,将API请求转发至相应后端服务设备以获得响应结果再转发至后端设备之外,还可以在请求为静态资源请求时,将静态资源请求转发至相应前端服务设备以获得响应结果再转发至后端设备,可以达到前后端多对多联调的目的,进而提升联调效率。
请参阅图4,为本申请实施例提供的一种前后端联调系统的网络架构示意图。该前后端联调系统可以包括后端设备10、代理设备20和后端服务设备30。具体的:
后端设备10可以向代理设备20提交请求。代理设备20可以检测后端设备10提交的请求。代理设备20若检测到后端设备10基于前端页面提交的请求,并确定该请求为应用程序接口API请求,则获取该API请求指示的后端服务设备30的IP地址,并获取该API请求访问的目标服务在后端服务设备30上的端口号。代理设备20根据该IP地址以及该端口号将该API请求转发至后端服务设备30,并接收后端服务设备30响应于该API请求返回的第一响应结果,并将该第一响应结果转发至该后端设备10,从而实现前后端多对多联调过程,提升联调效率。
请参阅图5,为本申请实施例提供的一种前后端联调装置的结构示意图。该装置可以应用于前述提及的代理设备中。具体的,该装置可以包括:
处理模块501,用于检测后端设备提交的请求。
处理模块501,还用于若检测到所述后端设备基于前端页面提交的请求,并确定所述请求为应用程序接口API请求,则获取所述API请求指示的后端服务设备的互联网协议IP地址,并获取所述API请求访问的目标服务在所述后端服务设备上的端口号。
通信模块502,用于根据所述IP地址以及所述端口号将所述API请求转发至所述后端服务设备。
通信模块502,还用于接收所述后端服务设备响应于所述API请求返回的第一响应结果,并将所述第一响应结果转发至所述后端设备。
在一种可选的实施方式中,所述API请求携带第一链接地址,所述第一链接地址包括所述API请求访问的目标服务在所述后端服务设备上的端口号,处理模块501获取所述API请求访问的目标服务在所述后端服务设备上的端口号,具体为获取所述第一链接地址包括的所述目标服务在所述后端服务设备上的端口号。
在一种可选的实施方式中,所述代理设备包括预设配置文件,所述预设配置文件包括所述API请求访问的目标服务在所述后端服务设备上的端口号,处理模块501获取所述API请求访问的目标服务在所述后端服务设备上的端口号,具体为获取所述预设配置文件包括的所述目标服务在所述后端服务设备上的端口号。
在一种可选的实施方式中,所述API请求携带第一链接地址,所述第一链接地址包括所述API请求访问的目标服务的目标资源的地址信息,所述预设配置文件记录了至少一个服务中每个服务在所述后端服务设备上的端口号与所述每个服务的各项资源的地址信息之间对应关系,处理模块501,获取所述预设配置文件包括的所述目标服务在所述后端服务设备上的端口号,具体为根据所述预设配置文件记录的所述对应关系以及所述第一链接地址包括的所述目标服务的目标资源的地址信息,确定所述目标服务在所述后端服务设备上的端口号;从所述预设配置文件中,读取所述目标服务在所述后端服务设备上的端口号。
在一种可选的实施方式中,处理模块501获取所述API请求指示的后端服务设备的IP地址,具体为从所述后端设备获取所述后端服务设备的IP地址;或,当所述API请求携带所述后端服务设备的IP地址时,获取所述API请求携带的所述后端服务设备的IP地址。
在一种可选的实施方式中,处理模块501根据所述IP地址以及所述端口号将所述API请求转发至所述后端服务设备,具体为根据所述IP地址以及所述端口号构建第二链接地址;根据所述第二链接地址将所述API请求转发至所述后端服务设备。
在一种可选的实施方式中,处理模块501,还用于若检测到所述后端设备基于前端页面提交的请求,并确定所述请求为静态资源请求,则获取所述静态资源请求指示的前端服务设备的开发环境的链接地址。
在一种可选的实施方式中,通信模块502,还用于根据所述前端服务设备的开发环境的链接地址将所述静态资源请求转发至所述前端服务设备。
在一种可选的实施方式中,通信模块502,还用于接收所述前端服务设备响应于所述静态资源请求返回的第二响应结果,并将所述第二响应结果转发至所述后端设备。
可见,图5所示的实施例中,前后端联调装置可以在检测到该后端设备基于前端页面提交的请求且确定该请求为API请求时,获取该API请求指示的后端服务设备的IP地址,并获取该API请求访问的目标服务在后端服务设备上的端口号,从而根据该IP地址以及该端口号将该API请求转发至后端服务设备,并接收该后端服务设备响应于该API请求返回的第一响应结果以将该第一响应结果转发至该后端设备,从而达到前后端多对多联调的目的,提升联调效率。
请参阅图6,为本申请实施例提供的一种代理设备的结构示意图。其中,本实施例中所描述的代理设备可以包括:处理器1000、输入设备2000、输出设备3000和存储器4000。处理器1000、输入设备2000、输出设备3000和存储器4000之间可以通过总线或其它方式连接。输入设备2000和输出设备3000可以为标准的有线或无线通信接口。
处理器1000可以是中央处理模块(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器4000可以是高速RAM存储器,也可为非不稳定的存储器(non-volatilememory),例如磁盘存储器。存储器4000用于存储一组程序代码,处理器1000、输入设备2000和输出设备3000可以调用存储器4000中存储的程序代码。具体地:
处理器1000,用于检测后端设备提交的请求;若检测到所述后端设备基于前端页面提交的请求,并确定所述请求为应用程序接口API请求,则获取所述API请求指示的后端服务设备的互联网协议IP地址,并获取所述API请求访问的目标服务在所述后端服务设备上的端口号;通过输出设备3000根据所述IP地址以及所述端口号将所述API请求转发至所述后端服务设备;通过输入设备2000接收所述后端服务设备响应于所述API请求返回的第一响应结果,并通过输出设备3000将所述第一响应结果转发至所述后端设备。
在一个实施例中,所述API请求携带第一链接地址,所述第一链接地址包括所述API请求访问的目标服务在所述后端服务设备上的端口号,处理器1000获取所述API请求访问的目标服务在所述后端服务设备上的端口号,具体为获取所述第一链接地址包括的所述目标服务在所述后端服务设备上的端口号。
在一个实施例中,所述代理设备包括预设配置文件,所述预设配置文件包括所述API请求访问的目标服务在所述后端服务设备上的端口号,处理器1000获取所述API请求访问的目标服务在所述后端服务设备上的端口号,具体为获取所述预设配置文件包括的所述目标服务在所述后端服务设备上的端口号。
在一个实施例中,所述API请求携带第一链接地址,所述第一链接地址包括所述API请求访问的目标服务的目标资源的地址信息,所述预设配置文件记录了至少一个服务中每个服务在所述后端服务设备上的端口号与所述每个服务的各项资源的地址信息之间对应关系,处理器1000获取所述预设配置文件包括的所述目标服务在所述后端服务设备上的端口号,具体为根据所述预设配置文件记录的所述对应关系以及所述第一链接地址包括的所述目标服务的目标资源的地址信息,确定所述目标服务在所述后端服务设备上的端口号;从所述预设配置文件中,读取所述目标服务在所述后端服务设备上的端口号。
在一个实施例中,处理器1000获取所述API请求指示的后端服务设备的IP地址,具体为从所述后端设备获取所述后端服务设备的IP地址;或,当所述API请求携带所述后端服务设备的IP地址时,获取所述API请求携带的所述后端服务设备的IP地址。
在一个实施例中,处理器1000根据所述IP地址以及所述端口号将所述API请求转发至所述后端服务设备,具体为根据所述IP地址以及所述端口号构建第二链接地址;通过输出设备3000根据所述第二链接地址将所述API请求转发至所述后端服务设备。
在一个实施例中,处理器1000,还用于若检测到所述后端设备基于前端页面提交的请求,并确定所述请求为静态资源请求,则获取所述静态资源请求指示的前端服务设备的开发环境的链接地址;通过输出设备3000根据所述前端服务设备的开发环境的链接地址将所述静态资源请求转发至所述前端服务设备;通过输入设备2000接收所述前端服务设备响应于所述静态资源请求返回的第二响应结果,并将所述第二响应结果转发至所述后端设备。
具体实现中,本申请实施例中所描述的处理器1000、输入设备2000、输出设备3000可执行图1和图2实施例所描述的实现方式,也可执行本申请实施例所描述的实现方式,在此不再赘述。
在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采样硬件的形式实现,也可以采样软件功能单元的形式实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,该计算机可读存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccess Memory,RAM)等。
以上所揭露的仅为本申请一种较佳实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于本申请所涵盖的范围。
Claims (10)
1.一种前后端联调方法,其特征在于,应用于代理设备,包括:
检测后端设备提交的请求;
若检测到所述后端设备基于前端页面提交的请求,并确定所述请求为应用程序接口API请求,则获取所述API请求指示的后端服务设备的互联网协议IP地址,并获取所述API请求访问的目标服务在所述后端服务设备上的端口号;
根据所述IP地址以及所述端口号将所述API请求转发至所述后端服务设备;
接收所述后端服务设备响应于所述API请求返回的第一响应结果,并将所述第一响应结果转发至所述后端设备。
2.根据权利要求1所述的方法,其特征在于,所述API请求携带第一链接地址,所述第一链接地址包括所述API请求访问的目标服务在所述后端服务设备上的端口号,所述获取所述API请求访问的目标服务在所述后端服务设备上的端口号,包括:
获取所述第一链接地址包括的所述目标服务在所述后端服务设备上的端口号。
3.根据权利要求1所述的方法,其特征在于,所述代理设备包括预设配置文件,所述预设配置文件包括所述API请求访问的目标服务在所述后端服务设备上的端口号,所述获取所述API请求访问的目标服务在所述后端服务设备上的端口号,包括:
获取所述预设配置文件包括的所述目标服务在所述后端服务设备上的端口号。
4.根据权利要求3所述的方法,其特征在于,所述API请求携带第一链接地址,所述第一链接地址包括所述API请求访问的目标服务的目标资源的地址信息,所述预设配置文件记录了至少一个服务中每个服务在所述后端服务设备上的端口号与所述每个服务的各项资源的地址信息之间对应关系,所述获取所述预设配置文件包括的所述目标服务在所述后端服务设备上的端口号,包括:
根据所述预设配置文件记录的所述对应关系以及所述第一链接地址包括的所述目标服务的目标资源的地址信息,确定所述目标服务在所述后端服务设备上的端口号;
从所述预设配置文件中,读取所述目标服务在所述后端服务设备上的端口号。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述获取所述API请求指示的后端服务设备的IP地址,包括:
从所述后端设备获取所述后端服务设备的IP地址;或,
当所述API请求携带所述后端服务设备的IP地址时,获取所述API请求携带的所述后端服务设备的IP地址。
6.根据权利要求1所述的方法,其特征在于,所述根据所述IP地址以及所述端口号将所述API请求转发至所述后端服务设备,包括:
根据所述IP地址以及所述端口号构建第二链接地址;
根据所述第二链接地址将所述API请求转发至所述后端服务设备。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若检测到所述后端设备基于前端页面提交的请求,并确定所述请求为静态资源请求,则获取所述静态资源请求指示的前端服务设备的开发环境的链接地址;
根据所述前端服务设备的开发环境的链接地址将所述静态资源请求转发至所述前端服务设备;
接收所述前端服务设备响应于所述静态资源请求返回的第二响应结果,并将所述第二响应结果转发至所述后端设备。
8.一种前后端联调装置,其特征在于,应用于代理设备,包括:
处理模块,用于检测后端设备提交的请求;
所述处理模块,还用于若检测到所述后端设备基于前端页面提交的请求,并确定所述请求为应用程序接口API请求,则获取所述API请求指示的后端服务设备的互联网协议IP地址,并获取所述API请求访问的目标服务在所述后端服务设备上的端口号;
通信模块,用于根据所述IP地址以及所述端口号将所述API请求转发至所述后端服务设备;
所述通信模块,还用于接收所述后端服务设备响应于所述API请求返回的第一响应结果,并将所述第一响应结果转发至所述后端设备。
9.一种代理设备,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、所述输入设备、所述输出设备和所述存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011514966.9A CN112671574B (zh) | 2020-12-18 | 2020-12-18 | 前后端联调方法、装置、代理设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011514966.9A CN112671574B (zh) | 2020-12-18 | 2020-12-18 | 前后端联调方法、装置、代理设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112671574A true CN112671574A (zh) | 2021-04-16 |
CN112671574B CN112671574B (zh) | 2024-04-16 |
Family
ID=75406597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011514966.9A Active CN112671574B (zh) | 2020-12-18 | 2020-12-18 | 前后端联调方法、装置、代理设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112671574B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113490256A (zh) * | 2021-07-01 | 2021-10-08 | 建信金融科技有限责任公司 | 一种前后端联调方法、装置、介质和设备 |
CN115277408A (zh) * | 2022-07-27 | 2022-11-01 | 中国平安财产保险股份有限公司 | 代理配置信息的更新方法、装置、设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776313A (zh) * | 2016-12-13 | 2017-05-31 | 广州唯品会信息科技有限公司 | 一种模拟服务的方法、装置及集中管理平台 |
CN109729187A (zh) * | 2019-01-09 | 2019-05-07 | 广州视源电子科技股份有限公司 | 一种代理通信方法、系统、装置及存储介质 |
CN110427324A (zh) * | 2019-07-30 | 2019-11-08 | 中国工商银行股份有限公司 | 联调系统、联调方法、计算机设备和存储介质 |
WO2020062168A1 (zh) * | 2018-09-29 | 2020-04-02 | 西门子股份公司 | 数据处理系统及方法、存储介质和计算机程序产品 |
CN111190596A (zh) * | 2019-12-24 | 2020-05-22 | 平安普惠企业管理有限公司 | 联调方法、装置、计算机设备及可读存储介质 |
CN111580977A (zh) * | 2020-05-12 | 2020-08-25 | 中国民航信息网络股份有限公司 | 一种资源调整方法及相关设备 |
CN111596902A (zh) * | 2020-05-26 | 2020-08-28 | 牛津(海南)区块链研究院有限公司 | 一种前后端开发框架的搭建方法、装置、设备及存储介质 |
CN111611168A (zh) * | 2020-05-22 | 2020-09-01 | 北京百度网讯科技有限公司 | 联调测试方法、装置及系统 |
CN111736930A (zh) * | 2020-07-21 | 2020-10-02 | 平安国际智慧城市科技股份有限公司 | 程序前后端接口调用方法、装置、计算机设备及存储介质 |
CN111787036A (zh) * | 2019-04-03 | 2020-10-16 | 北京奇虎科技有限公司 | 一种前端私有云部署的解决方法、装置、存储介质及设备 |
-
2020
- 2020-12-18 CN CN202011514966.9A patent/CN112671574B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776313A (zh) * | 2016-12-13 | 2017-05-31 | 广州唯品会信息科技有限公司 | 一种模拟服务的方法、装置及集中管理平台 |
WO2020062168A1 (zh) * | 2018-09-29 | 2020-04-02 | 西门子股份公司 | 数据处理系统及方法、存储介质和计算机程序产品 |
CN109729187A (zh) * | 2019-01-09 | 2019-05-07 | 广州视源电子科技股份有限公司 | 一种代理通信方法、系统、装置及存储介质 |
CN111787036A (zh) * | 2019-04-03 | 2020-10-16 | 北京奇虎科技有限公司 | 一种前端私有云部署的解决方法、装置、存储介质及设备 |
CN110427324A (zh) * | 2019-07-30 | 2019-11-08 | 中国工商银行股份有限公司 | 联调系统、联调方法、计算机设备和存储介质 |
CN111190596A (zh) * | 2019-12-24 | 2020-05-22 | 平安普惠企业管理有限公司 | 联调方法、装置、计算机设备及可读存储介质 |
CN111580977A (zh) * | 2020-05-12 | 2020-08-25 | 中国民航信息网络股份有限公司 | 一种资源调整方法及相关设备 |
CN111611168A (zh) * | 2020-05-22 | 2020-09-01 | 北京百度网讯科技有限公司 | 联调测试方法、装置及系统 |
CN111596902A (zh) * | 2020-05-26 | 2020-08-28 | 牛津(海南)区块链研究院有限公司 | 一种前后端开发框架的搭建方法、装置、设备及存储介质 |
CN111736930A (zh) * | 2020-07-21 | 2020-10-02 | 平安国际智慧城市科技股份有限公司 | 程序前后端接口调用方法、装置、计算机设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
ISHAI ROSENBERG等: "Generating End-to-End Adversarial Examples for Malware Classifiers Using Explainability", 《 2020 INTERNATIONAL JOINT CONFERENCE ON NEURAL NETWORKS (IJCNN)》, 28 September 2020 (2020-09-28) * |
杨迪;: "基于容器云的微服务系统", 电信科学, no. 09, 20 September 2018 (2018-09-20) * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113490256A (zh) * | 2021-07-01 | 2021-10-08 | 建信金融科技有限责任公司 | 一种前后端联调方法、装置、介质和设备 |
CN115277408A (zh) * | 2022-07-27 | 2022-11-01 | 中国平安财产保险股份有限公司 | 代理配置信息的更新方法、装置、设备及存储介质 |
CN115277408B (zh) * | 2022-07-27 | 2024-04-02 | 中国平安财产保险股份有限公司 | 代理配置信息的更新方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112671574B (zh) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109688202B (zh) | 一种接口数据的处理方法、装置、计算设备及存储介质 | |
US7844692B2 (en) | Web server multiplier for analyzing resource leaks | |
US20140089460A1 (en) | Unobtrusive methods and systems for collecting information transmitted over a network | |
CN112671574B (zh) | 前后端联调方法、装置、代理设备及存储介质 | |
CN111212154B (zh) | 服务绑定方法、装置、终端、服务器和存储介质 | |
CN108769189B (zh) | 跨网络域资源的访问方法及设备 | |
CN105530127A (zh) | 一种代理服务器处理网络访问请求的方法和代理服务器 | |
CN111459835B (zh) | 业务调试方法、装置、电子设备及计算机可读存储介质 | |
US20170277622A1 (en) | Web Page Automated Testing Method and Apparatus | |
CN109510738B (zh) | 一种通信链路的测试方法及设备 | |
CN106911735B (zh) | 数据获取方法及装置 | |
CN109951549B (zh) | 网络页面的访问方法、装置及计算机可读存储介质 | |
CN107483294B (zh) | 监控网络请求的方法及装置 | |
CN114301872B (zh) | 基于域名的访问方法及装置、电子设备、存储介质 | |
CN107592374B (zh) | 域名错误解析的纠正方法和系统 | |
CN111338928A (zh) | 基于chrome浏览器测试的方法及装置 | |
CN106911733B (zh) | 云代理的网址访问方法及装置 | |
CN110855782B (zh) | 一种服务调用系统、方法、电子设备及可读存储介质 | |
CN112887163B (zh) | 一种连通性测试方法、装置、电子设备及存储介质 | |
CN111158661A (zh) | 系统接口对接方法、装置、介质及电子设备 | |
CN106911736B (zh) | 云代理服务器、云代理的纯异步数据传输方法及系统 | |
CN115543220B (zh) | 访问管理方法、装置和计算机设备、存储介质 | |
CN113315849B (zh) | 数据处理方法、装置、设备和存储介质 | |
CN114422970B (zh) | 短信溯源方法、装置及设备 | |
CN115426394A (zh) | 通信连接方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |