System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请属于计算机,具体涉及一种处理api请求的方法和系统。
技术介绍
1、电子发票saas服务平台的技术架构大多采用微服务架构体系搭建。微服务之间的api接口调用是微服务治理中重要的一环。基于服务注册发现中心的网状直接调用,基于api gateway的中心节点中转调用,都是可选方案之一。apigateway一般部署在系统的内外边界处、也可以部署在系统内各领域服务的边界处。
2、作为api请求的入口,apigateway可促进系统可观测性建设;作为api治理手段的通用载体,apigateway可保护上游服务的持续服务能力增强系统稳定性。在apigateway诸多能力中,路由可配置方式的丰富程度和路由转发性能是apigateway最关键的能力。
3、目前,各个站点都对apigateway提出了不同的api路由需求,而现有的apigateway仍存在路由定位效率低的问题。
4、申请内容
5、本申请实施例的目的是提供一种处理api请求的方法和系统,以解决现有技术路由定位效率低的缺陷。
6、为了解决上述技术问题,本申请是这样实现的:
7、第一方面,提供了一种处理api请求的方法,包括以下步骤:
8、根据api请求中的host请求头,从站点路由字典中匹配站点处理器组;
9、根据所述api请求中的一级路径,从所述站点处理器组中匹配站点处理器;
10、利用所述api请求中的请求方法和请求路径计算hash值,并根据计算得到的hash值,执行
11、如果一级路由未匹配,则基于所述请求方法和所述请求路径执行二级路由匹配,所述二级路由匹配包括将所述请求路径拆分为小节,以及根据拆分结果在前缀字典树中进行逐级匹配;
12、如果二级路由未匹配,则执行动态路由匹配,所述动态路由匹配包括按照路径通配和参数匹配的路由表进行匹配。
13、第二方面,提供了一种处理api请求的系统,包括:
14、第一匹配模块,用于根据api请求中的host请求头,从站点路由字典中匹配站点处理器组;
15、第二匹配模块,用于根据所述api请求中的一级路径,从所述站点处理器组中匹配站点处理器;
16、第一路由模块,用于利用所述api请求中的请求方法和请求路径计算hash值,并根据计算得到的hash值,执行一级路由匹配;
17、第二路由模块,用于在一级路由未匹配的情况下,基于所述请求方法和所述请求路径执行二级路由匹配,所述二级路由匹配包括将所述请求路径拆分为小节,以及根据拆分结果在前缀字典树中进行逐级匹配;
18、第三路由模块,用于在二级路由未匹配的情况下,执行动态路由匹配,所述动态路由匹配包括按照路径通配和参数匹配的路由表进行匹配。
19、本申请实施例通过组合支持一级路由匹配、二级路由匹配和动态路由匹配,能够高效地实现路由匹配。
技术实现思路
本文档来自技高网...【技术保护点】
1.一种处理api请求的方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的方法,其特征在于,所述根据所述api请求中的一级路径,从所述站点处理器组中匹配站点处理器之后,还包括:
3.根据权利要求1所述的方法,其特征在于,所述执行动态路由匹配之后,还包括:
4.根据权利要求1所述的方法,其特征在于,还包括:
5.根据权利要求1所述的方法,其特征在于,还包括:
6.一种处理api请求的系统,其特征在于,包括:
7.根据权利要求6所述的系统,其特征在于,还包括:
8.根据权利要求6所述的系统,其特征在于,还包括:
9.根据权利要求6所述的系统,其特征在于,还包括:
10.根据权利要求6所述的系统,其特征在于,还包括:
【技术特征摘要】
1.一种处理api请求的方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的方法,其特征在于,所述根据所述api请求中的一级路径,从所述站点处理器组中匹配站点处理器之后,还包括:
3.根据权利要求1所述的方法,其特征在于,所述执行动态路由匹配之后,还包括:
4.根据权利要求1所述的方法,其特征在于,还包括:
5....
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。