perry-openapi2ts
v1.0.4
Published
A minimal OpenAPI to TypeScript code generator
Downloads
2
Maintainers
Readme
perry-openapi2ts
一个简单的OpenAPI到TypeScript代码生成器,可以从OpenAPI 3.0规范生成TypeScript接口和API调用代码。
功能
- 从OpenAPI 3.0规范生成TypeScript接口定义
- 生成完整的API调用函数
- 支持路径参数、查询参数和请求体
- 支持自定义请求库
安装
全局安装
npm install -g perry-openapi2ts项目中安装
npm install --save-dev perry-openapi2ts从源码安装
# 克隆仓库
git clone https://github.com/yourusername/perry-openapi2ts.git
cd perry-openapi2ts
# 安装依赖
npm install
# 构建项目
npm run build
# 链接到全局
npm link使用方法
- 创建配置文件
openapi.config.json:
{
"schemaPath": "./openapi.json",
"outputDir": "./src/services",
"namespace": "API",
"requestImportStatement": "import { request } from '../utils/request';"
}- 运行代码生成器:
# 如果全局安装
perry-openapi2ts
# 如果项目中安装
npx perry-openapi2ts
# 如果从源码运行
npm run start配置选项
| 选项 | 说明 | 类型 | 是否必须 | |------|------|------|----------| | schemaPath | OpenAPI规范的路径(本地文件或URL) | string | 是 | | outputDir | 生成代码的输出目录 | string | 是 | | namespace | 生成的TypeScript命名空间 | string | 否 | | requestImportStatement | 自定义请求库导入语句 | string | 否 |
项目结构
perry-openapi2ts/
├── src/
│ ├── index.ts # 主入口
│ ├── cli.ts # CLI工具
│ ├── serviceGenerator.ts # 服务生成器
│ ├── types.ts # 类型定义
│ └── request.ts # 示例请求库
├── templates/
│ ├── interface.njk # 接口模板
│ ├── service.njk # 服务模板
│ └── index.njk # 索引模板
├── openapi.config.json # 示例配置
└── example-openapi.json # 示例OpenAPI规范示例
本项目包含一个示例OpenAPI文件和配置,运行以下命令可以生成示例代码:
npm run start生成的代码将被放置在 ./generated 目录中。
