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接口
请求地址: /service/market/api
请求方式: PUT
请求参数:
{
name: "", //api名称, 必填
code: "", //api编码, 必填且必须唯一
requestPath: "", //请求路径, 必填
serverUrl: "", //服务地址,可选,如果没有将会自动api文档中的servers中的第一个
tenantCode: "", //网关租户编码, 必填
ownerOrgCode: "", //api所属组织编码, 可选
apiDoc: {}, //api文档内容
apiDocUrl: "", //api文档地址,apiDoc和apiDocUrl二选一, 优先使用apiDoc, 没有就根据apiDocUrl获取
coverUrl: "", //封面地址, 可选
requirePermission:"" //是否必须订阅审批才能使用访问
}
返回结果
{
sucess: true,
msg: "",
object: {
id: "",
code: ""
}
}
API市场更新api接口
请求地址: /service/market/api
请求方式: POST
请求参数:
{
name: "", //api名称, 必填
code: "", //api编码, 必填
requestPath: "", //请求路径, 必填
serverUrl: "", //服务地址,可选,如果没有将会自动api文档中的servers中的第一个
tenantCode: "", //网关租户编码, 必填
ownerOrgCode: "", //api所属组织编码, 可选
apiDoc: {}, //api文档内容
apiDocUrl: "", //api文档地址,apiDoc和apiDocUrl二选一, 优先使用apiDoc, 没有就根据apiDocUrl获取
coverUrl: "", //封面地址, 可选
requirePermission:"" //是否必须订阅审批才能使用访问
}
返回结果
{
sucess: true,
msg: "",
object: {
id: "",
code: ""
}
}
API市场审核通过接口
请求地址: /service/admin/catalog/approval/{idOrCode}/1
请求方式: POST
请求参数:
参数名 | 必填 | 说明 |
---|---|---|
idOrCode | 是 | API市场中api的主键或编码, 来自url路径 |
useCode | 否 | 是否使用code查找api, 默认值是false, 来自url参数部分 |
返回结果
{
sucess: true,
msg: ""
}
发布直接访问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监控
通过skywalking链路追踪,展示api请求各项性能分析
注意事项说明:
- api的网关租户需要kube部署,并设置运维插件:自定义Kong2端口插件
- 在控制台菜单OTEL配置功能中,对Nginx监控目标进行配置,格式为:内部域名:自定义kong2端口
如entry.newdao-tenant-bj924:58001,
,配置完成后可到k8s中查看otel是否正常重启
在配置字典otel-collector-conf-kubernetes-monitor中也可以查看添加的监控目标
以上配置完成后,就可以正常在api监控中查看监控数据。
下架
对审核通过的api,才会显示下架操作 ,下架后在api市场中不显示