Package Exports
- perry-openapi2ts
- perry-openapi2ts/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (perry-openapi2ts) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
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
目录中。