OpenAPI、Postman 与客户端资产

正式客户包的公开契约资产位于 Documentation/SKILL/akstream-next-integration/references:

当前随版第三方 Skill 提供 1.0.0.169 的公开契约,共 626 个公开操作,覆盖完整业务及管理 API;精确字段和权限请读取同版资产并核对部署版本。RTC SDK 函数以同批交付类型和源码为准。

flowchart LR
    A[同版本 OpenAPI] --> B[Swagger / 代码生成]
    A --> C[Postman 集合]
    A --> D[字段与接口索引]
    B --> E[自动契约测试]
    C --> E
    D --> E

使用 OpenAPI

为目标语言生成客户端时固定输入文件和 AKStream.Next 版本。例如:

npx @openapitools/openapi-generator-cli generate \
  -i Documentation/SKILL/akstream-next-integration/references/openapi.json \
  -g typescript-fetch \
  -o generated/typescript

生成 SDK 后仍需手工封装异步命令、文件流、Range、SDP、WebSocket、幂等与错误原文。代码生成器不能理解业务终态。

使用 Postman

导入 Collection 与 Environment 后,只在 Postman 的 secret/current value 中设置 baseUrl 与 Token,不把真实值导出或提交。

每个写接口的测试应:

文件、WebSocket 和 SDP 应另做专门测试,不要强行用普通 JSON 请求替代。

契约升级

升级前对旧版和新版 OpenAPI 做差异检查,至少关注:

客户端应忽略未知响应字段并保留 unknown 状态,但不能忽略新增必填输入和权限要求。

Swagger 访问边界

线上 Swagger/Knife4j 与 OpenAPI JSON 需要交互式 WebUI 会话。API Token 不能用来枚举文档入口。CI、SDK 与无人值守测试使用随版本保存的资产。

发布检查

生成资产必须与同一 commit、同一产品版本的服务对应。OpenAPI、接口索引、模型索引与 Postman 请求数不一致时停止发布,先重新生成和审计。

完整 Skill 文件目录