JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 5
  • Score
    100M100P100Q34508F
  • License MIT

从 Swagger 文档自动生成 API 调用代码,支持 Basic Auth 认证

Package Exports

  • zwx-api-gen
  • zwx-api-gen/src/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 (zwx-api-gen) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Swagger API 生成器

从 Swagger 文档自动生成 API 调用代码,支持 JavaScript 和 TypeScript,可以处理需要 Basic Auth 认证的 Swagger 文档。

特性

  • 支持 JavaScript 和 TypeScript 代码生成
  • 支持 Basic Auth 认证
  • 根据 Swagger 标签自动组织 API 文件结构
  • 自动生成接口类型定义
  • 友好的命令行界面
  • 可配置的输出目录

安装

全局安装

npm install -g zwx-api-gen

项目内安装

npm install --save-dev zwx-api-gen

使用方法

命令行使用

# 使用默认配置生成 JavaScript API 文件
zwx-api-gen

# 生成 TypeScript API 文件
zwx-api-gen --typescript

# 指定 Swagger 文档 URL
zwx-api-gen --url http://example.com/v3/api-docs

# 指定 Basic Auth 认证令牌
zwx-api-gen --auth YOUR_AUTH_TOKEN

# 指定输出目录
zwx-api-gen --output ./src/api

# 查看帮助
zwx-api-gen --help

在项目中使用

package.json 中添加脚本:

{
  "scripts": {
    "gen-api": "zwx-api-gen --typescript"
  }
}

然后运行:

npm run gen-api

配置

package.json 配置

你可以在项目的 package.json 中添加 zwxApiGen 配置项:

{
  "name": "your-project",
  "version": "1.0.0",
  "zwxApiGen": {
    "url": "http://example.com/v3/api-docs",
    "auth": "YOUR_AUTH_TOKEN",
    "typescript": true
  }
}

命令行选项

选项 简写 描述 默认值
--typescript -t 生成 TypeScript 代码 false
--url <url> -u 指定 Swagger 文档 URL 从 package.json 读取
--auth <token> -a 指定 Basic Auth 认证令牌 从 package.json 读取
--output <path> -o 指定输出目录 api

输出结构

生成的 API 文件结构如下:

api/
├── 分类1/
│   ├── 模块1.js
│   └── 模块2.js
└── 分类2/
    ├── 模块3.js
    └── 模块4.js

如果使用 TypeScript 模式,每个模块会生成两个文件:

api/
├── 分类1/
│   ├── 模块1/
│   │   ├── index.ts
│   │   └── types.ts
│   └── 模块2/
│       ├── index.ts
│       └── types.ts
└── 分类2/
    └── ...

开发

安装依赖

npm install

运行开发版本

npm start

构建

npm run build

许可证

MIT