一种API请求处理方法及装置与流程

文档序号:15683936发布日期:2018-10-16 20:51阅读:175来源:国知局

本发明涉及互联网技术领域,尤其涉及一种api请求处理方法及装置。



背景技术:

云服务端为不同的服务方提供各种应用程序编程接口(applicationprogramminginterface,api)以支持各服务方的业务。移动客户端可以安装各服务方的app软件,使用户在移动客户端上使用相应的服务方的各个业务。为了在一个app上支持多个服务方的业务,用于移动客户端的同时支持多个服务方的app的应用越来越多。

现有方案中,由于api无具体规范,前后端沟通、调试、接入成本巨大。而且,通用功能在多个服务之间重复开发也需要耗费大量人力和时间成本。因此,为不同服务方构建统一接口并为前端的用户提供更多元的选择成为迫切需求。

因此,亟需一种新的api请求处理方法及装置。



技术实现要素:

为了解决上述技术问题,本发明提供了一种api请求处理方法及装置。

本发明提供的api请求处理方法,包括:

网关从客户端接收携带目标标的和对所述目标标的目标操作的api请求,查询支持对所述目标标的进行所述目标操作的业务并且与所述网关连通的服务方,所述网关从查询到的服务方中选定目标服务方,将api请求发送至所述目标服务方。

上述api请求处理方法还具有以下特点:

所述方法还包括:所述目标服务方的数量为一个以上时,所述网关从各目标服务方接收到api响应后,将各响应结果根据预设处理规则进行整合处理后获得最终的响应结果,将所述最终的响应结果发送至所述客户端。

上述api请求处理方法还具有以下特点:

所述预设处理规则包括以下处理规则中的一种:将各响应结果的并集作为整合处理后的最终的响应结果,将各响应结果的交集作为整合处理后的最终的响应结果,将具有交集的至少两个目标服务方的响应结果的差集作为最终的响应结果。

上述api请求处理方法还具有以下特点:

所述网关从查询到的服务方中选定目标服务方包括:根据服务方对api请求的响应时长和/或对api请求的返回异常比例选择目标服务方。

上述api请求处理方法还具有以下特点:

所述api请求中还携带进行目标操作的限制条件;

所述网关从查询到的服务方中选定目标服务方包括:根据所述目标标的、所述目标操作和所述限制条件在所述服务方中进行查询,将查询到的能够满足所述目标标的、所述目标操作和所述限制条件的服务方作为所述目标服务方。

上述api请求处理方法还具有以下特点:

所述方法还包括:所述网关基于统一api协议为所述服务方构建api;其中所述统一api协议中包括涵盖各服务方支持的数据类型的数据字段,所述数据字段的类型包括以下类型中的至少一种:参数类型、操作类型、参数位置、返回值、安全认证;其中操作类型包括以下操作中的至少一种:读、写、更新、删除。

本发明提供的api请求处理装置,应用于网关,包括:

第一接收模块,用于从客户端接收携带目标标的和对所述目标标的目标操作的api请求;

查询模块,用于查询支持对所述目标标的进行所述目标操作的业务并且与所述网关连通的服务方;

选择模块,用于从查询到的服务方中选定目标服务方;

第一发送模块,用于将所述api请求发送至所述目标服务方。

上述api请求处理装置还具有以下特点:

还包括:第二接收模块、整合处理模块和第二发送模块;

所述第二接收模块用于从各目标服务方接收api响应;

所述整合处理模块用于在所述目标服务方的数量为一个以上时,将各响应结果根据预设处理规则进行整合处理后获得最终的响应结果;

所述第二发送模块将所述最终的响应结果发送至所述客户端。

上述api请求处理装置还具有以下特点:

所述预设处理规则包括以下处理规则中的一种:将各响应结果的并集作为整合处理后的最终的响应结果,将各响应结果的交集作为整合处理后的最终的响应结果,将具有交集的至少两个目标服务方的响应结果的差集作为最终的响应结果。

上述api请求处理装置还具有以下特点:

选择模块还用于根据服务方对api请求的响应时长和/或对api请求的返回异常比例选择目标服务方。

上述api请求处理装置还具有以下特点:

还包括用于从所述api请求中解析出进行目标操作的限制条件的条件解析模块;

所述选择模块还用于根据以下方法从查询到的服务方中选定目标服务方:根据所述目标标的、所述目标操作和所述限制条件在所述服务方中进行查询,将查询到的能够满足所述目标标的、所述目标操作和所述限制条件的服务方作为所述目标服务方。

上述api请求处理装置还具有以下特点:

所述装置还包括用于所述网关基于统一api协议为所述服务方构建api的接口构建模块;其中,所述统一api协议中包括涵盖各服务方支持的数据类型的数据字段,所述数据字段的类型包括以下类型中的至少一种:参数类型、操作类型、参数位置、返回值、安全认证;其中操作类型包括以下操作中的至少一种:读、写、更新、删除。

本发明使客户端通过网关这个中介可以方便的使用各服务方的服务,并且本发明中的网关使用统一的api协议用于构建不同接口格式的服务方的接口,在网关需要接通一个新的服务方时无需进行大量的编码工作,使网关可以智能适配接口格式不同的服务方。本发明提供的接口整合服务,使接口格式统一化,使同一客户端可以同时访问不同的服务方,或访问同一服务方的不同业务,可以有效提升服务稳定性、降低管理成本、提高用户使用体验。

附图说明

构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是实施例中api请求处理方法的流程图;

图2是实施例中api请求处理装置的结构图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

图1是实施例中api请求处理方法的流程图;此方法的执行主体为网关,此方法包括:

步骤101,从客户端接收携带目标标的和对所述目标标的目标操作的api请求;

步骤102,查询支持对所述目标标的进行所述目标操作的业务并且与所述网关连通的服务方;

步骤103,从查询到的服务方中选定目标服务方;

步骤104,将api请求发送至目标服务方。

此方法还包括步骤105:目标服务方的数量为一个以上时,所述网关从各目标服务方接收到api响应后,将各响应结果根据预设处理规则进行整合处理后获得最终的响应结果,将所述最终的响应结果发送至所述客户端。预设处理规则包括以下处理规则中的一种:将各响应结果的并集作为整合处理后的最终的响应结果,将各响应结果的交集作为整合处理后的最终的响应结果,将具有交集的至少两个目标服务方的响应结果的差集作为最终的响应结果。

步骤103中,网关从查询到的服务方中选定目标服务方包括:根据服务方对api请求的响应时长和/或对api请求的返回异常比例选择目标服务方。选择时选择对api请求的响应时长最短和/或对api请求的返回异常比例最小的服务方作为目标服务方。

或者,本方法中api请求中还携带进行目标操作的限制条件。步骤103中所述网关从查询到的服务方中选定目标服务方包括:根据所述目标标的、所述目标操作和所述限制条件在所述服务方中进行查询,将查询到的能够满足所述目标标的、所述目标操作和所述限制条件的服务方作为所述目标服务方。

此方法还包括:网关基于统一api协议为所述服务方构建api;所述服务方统一api协议中包括涵盖各服务方支持的数据类型的数据字段,所述数据字段的类型包括以下类型中的至少一种:参数类型、操作类型、参数位置、返回值、安全认证;其中操作类型包括以下操作中的至少一种:读、写、更新、删除。通过此特征网关能够为不同服务方构建api,在网关需要接通一个新的服务方时无需进行大量的编码工作,使网关可以智能适配接口格式不同的服务方。

图2是实施例中api请求处理装置,应用于网关,包括:第一接收模块、查询模块、选择模块和第一发送模块。

第一接收模块用于从客户端接收携带目标标的和对所述目标标的目标操作的api请求;

查询模块用于查询支持对所述目标标的进行所述目标操作的业务并且与所述网关连通的服务方;

选择模块用于从查询到的服务方中选定目标服务方;

第一发送模块用于将所述api请求发送至所述目标服务方。

此装置还包括:第二接收模块、整合处理模块和第二发送模块。

第二接收模块用于从各目标服务方接收api响应;

整合处理模块用于在所述目标服务方的数量为一个以上时,将各响应结果根据预设处理规则进行整合处理后获得最终的响应结果;

第二发送模块将所述最终的响应结果发送至所述客户端。

预设处理规则包括以下处理规则中的一种:将各响应结果的并集作为整合处理后的最终的响应结果,将各响应结果的交集作为整合处理后的最终的响应结果,将具有交集的至少两个目标服务方的响应结果的差集作为最终的响应结果。

选择模块还用于根据服务方对api请求的响应时长和/或对api请求的返回异常比例选择目标服务方。

此装置还包括用于从所述api请求中解析出进行目标操作的限制条件的条件解析模块。所述选择模块还用于根据以下方法从查询到的服务方中选定目标服务方:根据所述目标标的、所述目标操作和所述限制条件在所述服务方中进行查询,将查询到的能够满足所述目标标的、所述目标操作和所述限制条件的服务方作为所述目标服务方。

此装置还包括用于所述网关基于统一api协议为所述服务方构建api的接口构建模块;其中,统一api协议中包括涵盖各服务方支持的数据类型的数据字段,所述数据字段的类型包括以下类型中的至少一种:参数类型、操作类型、参数位置、返回值、安全认证;其中操作类型包括以下操作中的至少一种:读、写、更新、删除。

具体实施例一

网关连通有两个电子商务网站,即第一电商和第二电商。网关从客户端接收api请求,此api请求中的目标标的为25寸某品牌液晶电视,目标操作为购买,限制条件为价格最低。网关查询开通有支持用户购买此标的的业务并且与此网关连通的服务方为第一电商和第二电商,网关根据价格最低的限制条件选择出售价格最低的第一电商作为目标服务方,将api请求发送至第一电商,从第一电商接收到响应结果后,将此响应结果发送至客户端。

具体实施例二

网关连通有两个电子搜索网站,即第一搜索网站和第二搜索网站。网关从客户端接收api请求,此api请求中的目标标的为聚乙烯价格行情,目标操作为搜索。网关查询开通有支持此搜索操作的业务并且与此网关连通的服务方为第一搜索网站和第二搜索网站,网关从第一搜索网站进行搜索并获得第一搜索结果,从第二搜索网站进行搜索并获得第二搜索结果,网关计算获得将此两个结果的交集,将此交集作为最终结果发送至客户端。

上面描述的内容可以单独地或者以各种方式组合起来实施,而这些变型方式都在本发明的保护范围之内。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。

以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1