js-swagger2service-tool
v1.0.1
Published
a tool to generate service file based on swagger
Downloads
1
Readme
js-swagger2service-tool
js-swagger2service-tool 是一个可以通过 swagger 文档自动生成前端 service 文件的工具。
特性
- 同时兼容 OAS2 和 OAS3
- 支持主流的HTTP客户端库(目前支持 axios 和 umi-request,以及扩展了自身项目中的request封装方法)
- 支持生成js文件或ts文件
- 生成ts文件时支持类型系统
安装
npm install js-swagger2service-tool
例子
注意:使用 CommonJS
为了获得 TypeScript 的类型支持,在使用 require()
语句导入依赖时,需要在后边加上 .default
,像是这样:
const Swagger2serviceTool = require('js-swagger2service-tool').default;
PS: 输入 .default
只是为了获得TypeScript 的类型支持,如果你要启动项目的话,请在启动前删除 .default
,不然会报错。
使用方式
const Swagger2serviceTool = require('js-swagger2service-tool');
const { resolve } = require('path');
const swaggerUrl =
'https://gw.alipayobjects.com/os/antfincdn/M%24jrzTTYJN/oneapi.json';
const outputDir = resolve(__dirname, 'server');
const swagger2serviceTool = new Swagger2serviceTool({ url: swaggerUrl });
swagger2serviceTool.generateService({
template: 'request',
importText: `import request from '@/utils/request';`,
basePath: '',
typescript: false,
outputDir,
});
API
new Swagger2serviceTool(options: Options)
创建一个 Swagger2serviceTool
的实例.
Options:
| 参数 | 说明 | 类型 | 默认值 | 是否必须 | | ------ | ------ | ------ | ------ | ------ | | url | swagger 文档的地址 | string | - | url 或者 data 选填 | | data | swagger 文档的 json 数据 | string | - | url 或者 data 选填 |
generateService(options: ServiceGeneratorOptions): void
生成 service 文件,文件名将会是 tag 的名称。
ServiceGeneratorOptions:
| 参数 | 说明 | 类型 | 默认值 | 是否必须 |
| ------ | ------ | ------ | ------ | ------ |
| outputDir | 输出目录 | string | - | true |
| template | 想要生成的 HTTP 客户端模板 | string | 'umi-request'
| false |
| importText | 导入依赖的语句 | string | 默认导入语句
| false |
| basePath | 基础路径 | string | 默认为空
| false |
| typescript | 是否生成 ts 文件和类型 | boolean | false
| false |