这个OpenAPI工具的功能
前端工作往往在后端准备好之前就开始,并且手写已经具备规范的API类型是浪费的努力。粘贴一个OpenAPI 3.x或Swagger 2.0文档在JSON或YAML中,这个工具会生成三个东西:每次操作的模拟响应,所有方案的TypeScript类型,以及一个小类型的** fetch客户端**,每个端点都有一个函数。所有的内容都是在浏览器中生成的,所以私人或内部API规格永远不会上传。
使用方法
- 粘贴您的规格或上传文件。接受JSON和YAML。
- 终点列表显示每个操作及其方法和路径。
- 打开 模拟数据 选项卡,选择操作,以查看从模式示例,格式和编号构建的样本响应。
- 在
components/schemas(或 Swagger 2 中definitions) 生成的接口中切换到 TS类型 - 切换到 TS客户端,以便使用现成的客户端,并将其复制到您的项目中。
模仿是如何产生的
- 规格中的
example和examples值总是赢。 enum选择第一个值;default被尊重。- 字符串格式产生可信的值:
email,uuid,date-time,uri,ipv4等。 - 属性名称提供提示,所以
name,price或createdAt看起来很现实。 $ref,allOf,oneOf和anyOf被解决;递归引用被安全切断。- 模拟是对操作的决定性,所以它们不会在每次更新时改变。
使用生成的客户端
客户端输出一个BASE_URL常数和一个异步函数,以其operationId命名 (或缺失时的方法和路径),带有键入路径参数,查询参数和请求体,返回键入的响应。它只依赖于fetch,所以它可以在浏览器,Node 18+,Deno和Bun中运行。