[发明专利]一种API管理和API网关的调用方法在审
| 申请号: | 202110937591.5 | 申请日: | 2021-08-16 |
| 公开(公告)号: | CN113709221A | 公开(公告)日: | 2021-11-26 |
| 发明(设计)人: | 赵福丹;吴文宇 | 申请(专利权)人: | 贵州电子商务云运营有限责任公司 |
| 主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06;H04L12/66 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 550000 贵州省贵阳市国家高新技术产业开发区长岭*** | 国省代码: | 贵州;52 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 api 管理 网关 调用 方法 | ||
1.一种API管理和API网关的调用方法,其特征在于,通过开放平台实现方法如下:
1)API市场的建立:
开发者将API接口存储到数据库中,API接口的信息以商品的形式展示在API市场中;调用者在API市场进行购买订阅API,购买后的API接口需要进行开发者授权才能通过API网关调用订阅的API接口;
2)API网关调用:
a创建应用和调用API网关:
调用者在开放平台创建自己的应用,引入开放平台提供的SDK并且配置应用的key、Secret、应用的公钥和私钥、API网关地址;通过SDK调用API接口:
SDK将调用者配置的应用参数和购买订阅API的请求参数进行封装、加密,最后发送到API网关进行校验;
b调用参数的校验和验签:对调用者发送到API网关的请求进行参数校验,通过Gateway网关的Filter过滤器拦截网络请求,获取请求的参数,对必填参数进行非空校验,保证后续业务的正常运行,以及对签名的校验;
c调用权限的校验:对调用者创建的应用的key进行校验,应用的key检验通过后再对API接口进行校验,判断调用者调用的API接口是否存在,最后对调用者的应用与API接口进行订阅关系检验,如果存在订阅关系则进行下一步的调用;
d调用参数的加解密和适配:对调用者通过SDK传递的API接口的请求参数进行解密操作,根据API接口信息中的请求参数与调用者传递的解密后的参数进行适配和组装;
e发起调用、计数、计费、超时校验和响应参数加密:根据组装好的请求参数、API请求方式、API方法进行HTTP请求调用,请求完成后会对调用进行计数、计费,对响应的结果进行超时校验,如果超时,返回超时异常,超时检验完成后,再对响应的结果集进行加密处理,最后将结果返回给客户端。
2.根据权利要求1所述的一种API管理和API网关的调用方法,其特征在于,API网关调用时,所有的API请求都会经过API网关,由API网关统一处理请求,API的请求处理业务都写在springcloudgateway的filter中,由网关过滤器进行业务处理,包括调用参数的校验和验签、调用权限的校验、调用参数的加解密和适配、发起调用、计数、计费、超时校验和响应参数加密,其中权限的校验就是API接口是否创建、调用者创建的应用是否订阅API接口进行校验。
3.根据权利要求2所述的一种API管理和API网关的调用方法,其特征在于,调用者发起请求调用API网关,通过网关映射器和过滤器来统一实现API调用的业务逻辑如下:
1)GatewayHandleMapping:网关映射处理器,对请求的地址进行映射处理;
2)GatewayWebHandle:网关WEB处理器,通过映射处理器的处理结果,找到对应的处理方法;
3)TraceFilter:日志链路过滤器,生成日志链路追踪id,并传入header中;
4)BeforeHandleFilter:前置过滤器,处理主要业务,包括:拼装请求参数,参数校验和验签、调用权限的校验;校验APPKey、订阅关系、授权关系,后端接口参数拼装;
5)AfterHandleFilter:后置过滤器,响应数据加密处理;
6)TimeoutFilter:超时过滤器,请求响应超时校验处理,对每个接口的超时时间单独处理;
具体实现方法如下:
当请求到达API网关,请求先到达网关的映射处理器和WEB处理器,对请求进行地址映射处理,再通过API网关过滤器拦截请求,先执行TraceFilter日志链路过滤器生成日志链路追踪id,并传入header中,再执行BeforeHandleFilter前置过滤器获取到请求的URL,校验URL是否正确,检查是否已添加动态路由,如果未添加则添加路由,再获取发送到API网关的参数,对参数进行校验;
API网关参数的校验主要是对参数进行校验、验签和封装,参数的校验主要判空校验,保证后续业务逻辑正常进行;请求参数校验、验签和封装完成后再进行调用权限的校验,调用权限的校验主要是校验调用者创建的应用key对应的应用是否存在;不存在则是非法调用返回异常状态,如果应用key对应的应用存在,则对调用的接口进行校验,校验调用的API接口是否存在、版本是否对应、调用的接口信息以及接口状态,并且校验当前应用是否有调用当前接口的权限,判断订阅关系;
调用权限的校验完成后,对请求的业务参数进行AES解密获取业务参数,根据调用API接口的参数信息,对已解密的业务参数进行拼接、适配和封装;
API网关接口调用完成后,对应用调用API接口进行计数和计费操作,使用kafka消息中间件来实现消息推送,并且对调用的结果进行处理;首先对API的接口调用时间做记录,通过AfterHandleFilter过滤器对响应的结果集进行加密处理,通过TimeoutFilter过滤器对每次调用的超时时间做单独的处理,校验API调用是否超时。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贵州电子商务云运营有限责任公司,未经贵州电子商务云运营有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110937591.5/1.html,转载请声明来源钻瓜专利网。





