API发布

功能概述

主要给组织管理员提供发布api服务及维护功能

支持通过网关访问api服务(即:可在网关上设置插件,通过插件配置实现对api服务安全认证、限流、熔断、黑白名单、访问控制等能力)

直接访问api服务(即:不经过网关访问的api,则不能设置网关插件配置)

组织管理员进入控制台,打开api发布功能

发布API

发布通过网关访问的API

说明:如上图所示,发布通过网关访问api的流程步骤,对于发布平台内应用服务api,应用租户部署此市场应用,应用租户和网关租户可以是同一个租户也可以是不同租户,当网关租户和应用租户独立时,网关租户下只需要部署门户应用即可;对于外部服务,则通过接口直接发布到网关租户内审核即可。

发布平台内开发应用API

  1. 在发布api功能里,点击发布api
  2. 在打开发布api页面,自定义发布api编码、名称、封面信息,api类型选择通过网关访问api
  3. 选择发布api应用所在租户
  4. 选择租户后会自动过滤租户下部署的应用
  5. 选择应用后,在选择api接口时,在打开接口列表中选择要发布的接口
  6. 选择接口后,服务地址、服务请求路径及api文档地址将自动生成
  7. 对接口描述及详细说明配置完成后,点击提交审核接口(发布的api,都需要进行订阅审批后才能使用)
  8. 在api发布列表中会显示上一步提交审核待审核的api
  9. 未审核通过的api不能查看日志及监控
  10. 要对发布的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

  1. 在发布api功能里,点击发布api
  2. 在打开发布api页面,自定义发布api编码、名称、封面信息,api类型选择直接访问的api,在服务地址中填写api服务地址,api文档地址可手工输入或者上传api文档时自动生成,
  3. 如发布的api需要订阅审批才可使用,则勾选必须经过订阅审批才能使用选项
  4. 配置完成后点击提交审核,同样需要到api管理功能中进行审核,具体操作参API管理功能操作说明

更新api

  1. 对于平台内开发应用api更新,当应用更新发布后,在发布api列表中,点击API名称弹出窗口直接在一次提交审核即可
  2. 外部服务通过网关访问api,则调用发布接口进行更新
  3. 外部服务直接访问api,在发布api列表中,点击api名称弹出窗口修改配置后再一次提交审核即可。

查看api接口

在发布api列表操作中,都有查看api接口文档操作

网关设置

对于发布审核通过api,则可设置网关插件配置,如对api设置访问日志、限流、熔断等插件配置

api日志

要查看api被调用日志,则需要对api开启日志插件,才能查看被调用日志

api监控

通过skywalking链路追踪,展示api请求各项性能分析

注意事项说明:

  1. api的网关租户需要kube部署,并设置运维插件:自定义Kong2端口插件
  2. 在控制台菜单OTEL配置功能中,对Nginx监控目标进行配置,格式为:内部域名:自定义kong2端口 如entry.newdao-tenant-bj924:58001, ,配置完成后可到k8s中查看otel是否正常重启 在配置字典otel-collector-conf-kubernetes-monitor中也可以查看添加的监控目标 以上配置完成后,就可以正常在api监控中查看监控数据。

下架

对审核通过的api,才会显示下架操作 ,下架后在api市场中不显示

通过网关访问外部api接口说明

results matching ""

    No results matching ""