一种API管理和API网关的调用方法技术

技术编号:31018104 阅读:14 留言:0更新日期:2021-11-30 03:02
本发明专利技术公开了一种API管理和API网关的调用方法,通过开放API为第三方开发者提供发布、出售、管理API的平台,让第三方开发者有效的管理API接口,并可以将接口共享给他人使用;通过API市场,通过接口扫描的形式将系统内部的API接口存储在数据库中,同时支持添加外部接口,并将API接口以商品的形式展示,为第三方开发者提供订阅、购买和调用系统提供的API方法或者其它第三方开发者发布的API;API网关通过Gateway网关实现,统一处理API接口的调用,实现内部API接口的调用和外部API接口的调用,安全且方便。本发明专利技术更好更安全的管理API接口,统一处理API接口的调用,方便第三方开发者接入、入驻、API订阅,为第三方开发提供数据和资源,减少第三方开发者的开发工作量。减少第三方开发者的开发工作量。减少第三方开发者的开发工作量。

【技术实现步骤摘要】
一种API管理和API网关的调用方法


[0001]本专利技术涉及电子信息
,具体是一种API管理和API网关的调用方法。

技术介绍

[0002]随着互联网技术的日新月异以及大量数据的产生,API接口越来越受到人们的重视,API接口作为一组定义、程序及协议的集合,可以通过API接口实现计算机软件之间的相互通信以及数据交换。其一个主要功能是提供通用功能集,程序员通过使用各种编程语言开发API接口,达到一次开发、多次使用的目的,使得使用者无需访问源码或是理解其内部工作机制的细节。
[0003]目前,业内对API接口的开发一般会先定义好API接口的元数据信息,包括:请求地址、请求方式、请求条件、返回数据等信息,其次通过编程语言实现API接口的开发,但是在开发过程中,随着开发系统的增多,各个系统API接口也会随之增多,API接口很难进行统一管理,各个系统之间API接口的调用很难得到统一的处理。

技术实现思路

[0004]针对上述技术问题,本专利技术提供一种API管理和API网关的调用方法,实现API接口的统一管理和API接口统一调用API网关,API接口的管理以API市场的形式统一管理API接口信息,通过API网关统一处理API接口的请求,为入驻的第三方开发者提供统一的应用管理、API接口管理和API接口调用,解决现有技术中开发、维护API接口的成本问题,减少开放工作量。
[0005]本专利技术通过开放平台实现方法如下:
[0006]1)API市场的建立:
[0007]开放者在开放平台创建API分组,将API接口信息录入开放平台,API接口信息的录入有两种方式:方式一:通过开放平台提供的界面,将API接口信息手动录入到开放平台并存储到数据库中,方式二:通过API接口扫描的方式将API信息扫描到开放平台,并存储到数据库中,最后API接口的信息以商品的形式展示在API市场中;调用者在API市场进行订阅和购买API,购买后的API接口需要进行授权才能通过API网关调用订阅的API接口;API市场的建立提供手动录入和自动扫描录入,为开放者提供更加简单、方便、快捷的方式录入API信息,开放者也可以更加方便灵活的管理开放的API接口。
[0008]2)API网关调用:
[0009]a创建应用和调用API网关:
[0010]调用者在开放平台创建自己的应用,引入开放平台提供的SDK并且配置应用的key、Secret、应用的公钥和私钥、API网关地址;通过SDK调用API接口:
[0011]SDK将调用者配置的应用参数和购买订阅API的请求参数进行封装、加密,最后发送到API网关进行校验;
[0012]b调用参数的校验和验签:对调用者发送到API网关的请求进行参数校验,通过
Gateway网关的Filter过滤器拦截网络请求,获取请求的参数,对必填参数进行非空校验,保证后续业务的正常运行,以及对签名的校验;
[0013]c调用权限的校验:对调用者创建的应用的key进行校验,应用的key检验通过后再对API接口进行校验,判断调用者调用的API接口是否存在,最后对调用者的应用与API接口进行订阅关系检验,如果存在订阅关系则进行下一步的调用;
[0014]d调用参数的加解密和适配:对调用者通过SDK传递的API接口的请求参数进行解密操作,根据API接口信息中的请求参数与调用者传递的解密后的参数进行适配和组装;
[0015]e发起调用、计数、计费、超时校验和响应参数加密:根据组装好的请求参数、API请求方式、API方法进行HTTP请求调用,请求完成后会对调用进行计数、计费,对响应的结果进行超时校验,如果超时,返回超时异常,超时检验完成后,再对响应的结果集进行加密处理,最后将结果返回给客户端。
[0016]上述开放平台提供SDK为调用者封装了HTTP客户端,SDK获取到应用中配置Key、Secret、公钥、私钥和网关地址,调用者在使用SDK调用API网关时,只需要调用API方法的参数和方法名称,SDK自动将调用的参数进行封装、加密、签名然后发送到API网关,API网关再进行参数的解密、校验、验签和调用API方法;SDK为调用者封装了请求工具,让API的调用更加方便,并通过加密和签名的方式,防止信息泄露和防止信息被篡改,使API的调用更加安全。
[0017]API网关调用时,所有的API请求都会经过API网关,由API网关统一处理请求,API的请求处理业务都写在spring cloud gateway的filter中,由网关映射器和过滤器进行业务处理,包括调用参数的校验和验签、调用权限的校验、调用参数的加解密和适配、发起调用、计数、计费、超时校验和响应参数加密;其中权限的校验就是API接口是否创建、调用者创建的应用是否订阅API接口进行校验。
[0018]调用者发起请求调用API网关,通过网关映射器和过滤器来统一实现API调用的业务逻辑如下:
[0019]1)Gateway Handle Mapping:网关映射处理器,对请求的地址进行映射处理;
[0020]2)Gateway Web Handle:网关WEB处理器,通过映射处理器的处理结果,找到对应的处理方法;
[0021]3)TraceFilter:日志链路过滤器,生成日志链路追踪id,并传入header中;
[0022]4)BeforeHandleFilter:前置过滤器,处理主要业务,包括:拼装请求参数,参数校验和验签、调用权限的校验;校验APPKey、订阅关系、授权关系,后端接口参数拼装;
[0023]5)AfterHandleFilter:后置过滤器,响应数据加密处理;
[0024]6)TimeoutFilter:超时过滤器,请求响应超时校验处理,对每个接口的超时时间单独处理;
[0025]具体实现方法如下:
[0026]当请求到达API网关,请求先到达网关的映射处理器和WEB处理器,对请求进行地址映射处理,再通过API网关过滤器拦截请求,先执行TraceFilter日志链路过滤器生成日志链路追踪id,并传入header中,再执行BeforeHandleFilter前置过滤器获取到请求的URL,校验URL是否正确,检查是否已添加动态路由,如果未添加则添加路由,再获取发送到API网关的参数,对参数进行校验;
[0027]API网关参数的校验主要是对参数进行校验、验签和封装,参数的校验主要判空校验,保证后续业务逻辑正常进行;请求参数校验、验签和封装完成后再进行调用权限的校验,调用权限的校验主要是校验调用者创建的应用key对应的应用是否存在;不存在则是非法调用返回异常状态,如果应用key对应的应用存在,则对调用的接口进行校验,校验调用的API接口是否存在、版本是否对应、调用的接口信息以及接口状态,并且校验当前应用是否有调用当前接口的权限,判断订阅关系;
[0028]调用权限的校验完成后,对请求的业务参数进行AES解密本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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网关,通过...

【专利技术属性】
技术研发人员:赵福丹吴文宇
申请(专利权)人:贵州电子商务云运营有限责任公司
类型:发明
国别省市:

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

1