OpenApi(Swagger)快速转换成 TypeScript 代码 - STC

发布时间 2023-08-05 21:38:11作者: Jason Long

STC Logo

在现代的 Web 开发中,使用 OpenAPI(以前称为 Swagger)规范来描述和定义 API 已经成为一种常见的做法。OpenAPI 规范提供了一种统一的方式来描述API的结构、请求和响应,使得开发人员能够更好地理解和使用 API。

然而,手动编写与 OpenAPI 规范匹配的客户端代码或服务端框架可能是一项繁琐且耗时的任务。这就是为什么使用 STC(Swagger Transform Code)工具可以大大简化这个过程,并快速生成与 OpenAPI 规范一致的 TypeScript 代码的原因。

什么是STC(Swagger Transform Code)?

STC 是一个用于将 OpenAPI 规范的 Swagger/Apifox 文档转换为可执行代码文件的工具。它提供了一种自动化的方式来读取 OpenAPI 规范的 Swagger/Apifox 文档,并根据规范生成与之匹配的 TypeScript 代码。

特性:

  • 支持 Swagger 2, 3 和 Apifox。
  • 支持 Axios、Wechat 请求库。
  • 支持插件开发。

下载 STC

软件没有签名,在打开时会被系统安全提示,允许即可。

如何使用?

下载好后,在终端(cmd)中进入到 STC 文件所在目录。输入如下命令:

stc --url=https://petstore3.swagger.io/api/v3/openapi.json --outDir=out

需要注意的是 STC 不会识别 ~ 为用户主目录,这是由于 Deno 自身不支持。

image

file

选项

参数名 类型 默认值 说明
url string Swagger 文档地址,或者本地路径
outDir string stc_out 输出目录
platform string axios 平台,可选值:axioswechat
lang string ts 语言,用于输出文件的后缀名
tag number 从接口 url 指定标签,默认读取 tags 的第一个用于文件名
filter string[] 过滤接口,符合过滤条件的接口会被生成。eg: --filter "/pet/*",生成 /pet 的接口,同时支持多个 --filter

最后

目前工具还在完善中,后续会内置支持更多语言的插件。
如果你觉得不错,可以 star 表示支持一下 https://github.com/long-woo/stc