接口访问请求处理方法、API网关、服务器及系统技术方案

技术编号:31480798 阅读:22 留言:0更新日期:2021-12-18 12:14
本发明专利技术提供一种接口访问请求处理方法、API网关、服务器及系统,该方法包括:接收前端发起的包括微服务的模块标识、服务标识、方法标识及请求参数的接口访问请求;将接口访问请求路由到服务器与模块标识对应的微服务模块,以供服务器根据服务标识在微服务模块中查找对应的服务实例,根据方法标识在服务实例中获取对应的方法及参数定义列表,基于请求参数及参数定义列表进行方法调用,获取接口访问请求处理结果;接收服务器返回的接口访问请求处理结果并发送给前端。本发明专利技术提供的接口访问请求处理方法、API网关、服务器及系统,基于对接口访问请求的分层细化及根据分层信息进行分步处理实现方法调用,提高了接口访问请求的处理效率和准确率。效率和准确率。效率和准确率。

【技术实现步骤摘要】
接口访问请求处理方法、API网关、服务器及系统


[0001]本专利技术实施例涉及一种接口访问请求处理方法、API网关、服务器及系统。

技术介绍

[0002]在Dubbo微服务面向接口编程模式下,一个微服务模块中的一个服务由一个Service接口类表示(比如用户服务UserService),一个业务接口由这个接口类中的一个方法表示(比如userInfo方法表示查询用户的详情)。
[0003]随着业务的不断扩张,现有的Dubbo微服务规模也越来越大,在此之前常规做法是由人专门开发维护一个网关项目,将不同微服务的接口引入该项目,对外提供HTTP服务,对请求JSON数据进行反序列化转换为需要的数据类型然后调用后端微服务接口,对方法返回结果再序列化成JSON返回给请求者;但是当后端某一个微服务的接口新增或变更时该项目都需要频繁进行修改、构建、部署,所有的操作都需要人为编码处理,随着规模增大也更难以维护。

技术实现思路

[0004]为了解决现有技术中的问题,本专利技术提供了一种接口访问请求处理方法、API网关、服务器及系统。
[0005]本专利技术提供一种接口访问请求处理方法,包括:接收前端发起的接口访问请求;其中,所述接口访问请求包括微服务的模块标识、服务标识、方法标识及请求参数;根据所述模块标识将所述接口访问请求路由到服务器与所述模块标识对应的微服务模块,以供所述服务器进一步根据所述服务标识在所述微服务模块中查找对应的服务实例,以及根据所述方法标识在所述服务实例中获取对应的方法及参数定义列表,并基于所述请求参数及所述参数定义列表对所述方法进行方法调用,从而获取接口访问请求处理结果;接收所述服务器返回的所述接口访问请求处理结果,并将所述接口访问请求处理结果发送给所述前端。
[0006]根据本专利技术提供的一种接口访问请求处理方法,所述接收前端发起的接口访问请求,包括:接收前端基于HTTP接口协议发起的接口访问请求;其中,所述HTTP接口协议的协议格式包括所述模块标识、所述服务标识及所述方法标识,以及所述请求参数存在于所述HTTP接口协议的所述协议格式或所述接口访问请求对应的请求体中。
[0007]根据本专利技术提供的一种接口访问请求处理方法,所述请求参数的名称和与所述接口访问请求对应的所述服务实例中的方法的参数名一致。
[0008]本专利技术还提供一种接口访问请求处理方法,包括:获取API网关发送的来自于前端的接口访问请求;其中,所述接口访问请求包括微服务的模块标识、服务标识、方法标识及请求参数;根据所述服务标识在与所述模块标识对应的微服务模块中查找对应的服务实例,以及根据所述方法标识在所述服务实例中获取对应的方法及参数定义列表,并基于所述请求参数及所述参数定义列表对所述方法进行方法调用,从而获取接口访问请求处理结果;将所述接口访问请求处理结果经由API网关发送给所述前端。
[0009]根据本专利技术提供的一种接口访问请求处理方法,所述基于所述请求参数及所述参数定义列表对所述方法进行方法调用,具体包括:根据所述参数定义列表获取所述方法的参数名和参数类型;将所述请求参数中的参数值转换成与所述参数定义列表中的参数类型对应的值对象;根据所述参数名、所述参数类型及所述值对象实例化出对应的参数对象;基于所述参数对象通过java的反射机制对所述方法执行方法调用。
[0010]本专利技术还提供一种API网关,包括:请求接收单元,用于:接收前端发起的接口访问请求;其中,所述接口访问请求包括微服务的模块标识、服务标识、方法标识及请求参数;路由单元,用于:根据所述模块标识将所述接口访问请求路由到服务器与所述模块标识对应的微服务模块,以供所述服务器进一步根据所述服务标识在所述微服务模块中查找对应的服务实例,以及根据所述方法标识在所述服务实例中获取对应的方法及参数定义列表,并基于所述请求参数及所述参数定义列表对所述方法进行方法调用,从而获取接口访问请求处理结果;反馈单元,用于:接收所述服务器返回的所述接口访问请求处理结果,并将所述接口访问请求处理结果反馈给所述前端。
[0011]本专利技术还提供一种服务器,包括:请求获取单元,用于:获取API网关发送的来自于前端的接口访问请求;其中,所述接口访问请求包括微服务的模块标识、服务标识、方法标识及请求参数;分发处理单元,用于:根据所述服务标识在与所述模块标识对应的微服务模块中查找对应的服务实例,以及根据所述方法标识在所述服务实例中获取对应的方法及参数定义列表,并基于所述请求参数及所述参数定义列表对所述方法进行方法调用,从而获取接口访问请求处理结果;发送单元,用于:将所述接口访问请求处理结果经由API网关发送给所述前端。
[0012]本专利技术还提供一种接口访问请求处理系统,包括前端、API网关及服务器;其中:所述前端用于发送接口访问请求到所述API网关;其中,所述接口访问请求包括微服务的模块标识、服务标识、方法标识及请求参数;所述API网关用于接收所述接口访问请求,并根据所述模块标识将所述接口访问请求路由到所述服务器与所述模块标识对应的微服务模块;所述服务器用于接收所述接口访问请求,根据所述服务标识在与所述模块标识对应的微服务模块中查找对应的服务实例,以及根据所述方法标识在所述服务实例中获取对应的方法及参数定义列表,并基于所述请求参数及所述参数定义列表对所述方法进行方法调用,从而获取接口访问请求处理结果,将所述接口访问请求处理结果发送给所述API网关;所述API网关还用于接收所述接口访问请求处理结果,并将所述接口访问请求处理结果反馈给所述前端;所述前端还用于接收所述API网关反馈的所述接口访问请求处理结果。
[0013]本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述接口访问请求处理方法的步骤。
[0014]本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述接口访问请求处理方法的步骤。
[0015]本专利技术还提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现如上述任一种所述接口访问请求处理方法的步骤。
[0016]本专利技术提供的接口访问请求处理方法、API网关、服务器及系统,通过对接口访问请求进行包括模块标识、服务标识及方法标识的分层处理,当在前端发起接口访问请求时,
根据模块标识将其路由到对应的微服务模块,然后根据服务标识获取对应的服务实例,根据方法标识调用对应方法,实现了对于目标方法的快速调用,提高了对于接口访问请求的处理效率和处理准确率,避免出现因方法更新造成的对于API网关内部代码频繁改动的问题,提高了整体的可维护性,并且实现了前端友好。
附图说明
[0017]为了更清楚地说明本专利技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种接口访问请求处理方法,其特征在于,包括:接收前端发起的接口访问请求;其中,所述接口访问请求包括微服务的模块标识、服务标识、方法标识及请求参数;根据所述模块标识将所述接口访问请求路由到服务器与所述模块标识对应的微服务模块,以供所述服务器进一步根据所述服务标识在所述微服务模块中查找对应的服务实例,以及根据所述方法标识在所述服务实例中获取对应的方法及参数定义列表,并基于所述请求参数及所述参数定义列表对所述方法进行方法调用,从而获取接口访问请求处理结果;接收所述服务器返回的所述接口访问请求处理结果,并将所述接口访问请求处理结果发送给所述前端。2.根据权利要求1所述的接口访问请求处理方法,其特征在于,所述接收前端发起的接口访问请求,包括:接收前端基于HTTP接口协议发起的接口访问请求;其中,所述HTTP接口协议的协议格式包括所述模块标识、所述服务标识及所述方法标识,以及所述请求参数存在于所述HTTP接口协议的所述协议格式或所述接口访问请求对应的请求体中。3.根据权利要求1所述的接口访问请求处理方法,其特征在于,所述请求参数的名称和与所述接口访问请求对应的所述服务实例中的方法的参数名一致。4.一种接口访问请求处理方法,其特征在于,包括:获取API网关发送的来自于前端的接口访问请求;其中,所述接口访问请求包括微服务的模块标识、服务标识、方法标识及请求参数;根据所述服务标识在与所述模块标识对应的微服务模块中查找对应的服务实例,以及根据所述方法标识在所述服务实例中获取对应的方法及参数定义列表,并基于所述请求参数及所述参数定义列表对所述方法进行方法调用,从而获取接口访问请求处理结果;将所述接口访问请求处理结果经由API网关发送给所述前端。5.根据权利要求4所述的接口访问请求处理方法,其特征在于,所述基于所述请求参数及所述参数定义列表对所述方法进行方法调用,具体包括:根据所述参数定义列表获取所述方法的参数名和参数类型;将所述请求参数中的参数值转换成与所述参数定义列表中的参数类型对应的值对象;根据所述参数名、所述参数类型及所述值对象实例化出对应的参数对象;基于所述参数对象通过java的反射机制对所述方法执行方法调用。6.一种API网关,其特征在于,包括:请求接收单元,用于:接收前端发起的接口访问请求;其中,所述接口访问请求包括微服务的模块标识、服务标识、方法标识及请求参数;路由单元,用于:根据所述模...

【专利技术属性】
技术研发人员:唐丽玲
申请(专利权)人:北京房江湖科技有限公司
类型:发明
国别省市:

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

1