TypeScript 的类型安全 OpenAPI 生成器
特征
- 生成客户端代码 OpenAPI 3.0, 2 (阿卡·斯瓦格)和 AsyncAPI 软件 规格
- 可插件的 HTTP 客户端 : 可使用
fetch, (中文(简体) ),Axios或任何其他图书馆 - 灵活反应类型: 与承诺和RxJS等反应流合作
- 运行时间类型检查 : 验证服务器对光谱的反应
- 写入 纯类型脚本 使用
fp-ts财务报告和审定财务报表io-ts图书馆
演示码
以下例子涉及: Pet Store OpenAPI 3.0 计划。 。 。 .
运行代码源后,与 REST API 的交互可能和这个一样简单:
import { petController as createPetController } from "./src/generated/petstore.json/paths/PetController";
import { Pet } from "./src/generated/petstore.json/components/schemas/Pet";
// Creating a controller, see the "HTTP Clients" wiki page for more details
const petController = createPetController({ httpClient: fetchHttpClient });
// The returned object is guaranteed to be a valid `Pet`
const createdPet: Promise<Pet> = petController.addPet({
body: {
// The parameters are statically typed, IntelliSense works, too
name: "Spotty",
photoUrls: [],
},
});
支持更多的使用方案 - 检查 使用页面 更详细.
安装
-
确保安装对等依赖, 然后安装编码源本身 :
yarn add typescript fp-ts io-ts io-ts-types yarn add -D @devexperts/swagger-codegen-ts -
创建可引用
generate函数,将路径等选项传递到 schema 文件及输出目录. 见 发电机 aPI 参考页面,以及 实例/遗传 用于样本脚本. -
在大多数情况下,你可能想要将代码生成步骤包含在构建和本地发射脚本中. 示例
/* package.json */ "scripts": { + "generate:api": "ts-node scripts/generate-api.ts", - "start": "react-scripts start", + "start": "yarn generate:api && react-scripts start", - "build": "react-scripts build" + "build": "yarn generate:api && react-scripts build" }
捐款
请读一下 贡献者指南 更多信息.