UNPKG

@mx560/swagger2ts

Version:

a tool to generate ts model file

63 lines (42 loc) 2.05 kB
# swagger2ts swagger2ts 是一个基于 openapi-tool 改造的工具,可以通过 swagger 文档自动生成前端 ts模型、request 文件。 如果你喜欢这个项目,请给我一个 star。你的鼓励就是我最大的动力! ### 特性 - 同时兼容 [OAS2](https://swagger.io/specification/v2/) 和 [OAS3](https://swagger.io/specification/) - 支持主流的HTTP客户端库(目前支持 [axios](https://github.com/axios/axios) 和 [umi-request](https://github.com/umijs/umi-request)) - 支持生成 ts 模型文件 - 支持生成 ts request文件 ### 安装 ``` npm install swagger2ts ``` ### 栗子 #### 使用方式 ```js const Swagger2ts = require('@mx560/Swagger2ts'); const { resolve } = require('path'); const url = 'https://gw.alipayobjects.com/os/antfincdn/M%24jrzTTYJN/oneapi.json'; const outputDir = resolve(__dirname, 'typings'); const swagger2ts = new Swagger2ts({url}); swagger2ts.generateTs({outputDir}); ``` ### API #### `new Swagger2ts(options: Options)` 创建一个 `Swagger2ts` 的实例. **Options:** | 参数 | 说明 | 类型 | 默认值 | 是否必须 | | ------ | ------ | ------ | ------ | ------ | | url | swagger 文档的地址 | string | - | url 或者 data 选填 | | data | swagger 文档的 json 数据 | string | - | url 或者 data 选填 | #### `generateTs(options: GeneratorTsOptions): void` 生成 ts 文件,文件名将会是 tag 的名称。 **GeneratorTsOptions:** | 参数 | 说明 | 类型 | 默认值 | 是否必须 | | ------ | ------ | ------ | ------ | ------ | | outputDir | 输出目录 | string | - | true | | generateModel | 是否生成model文件 | boolean | true | false | | generateRequest | 是否生成request文件 | boolean | false | false | | generateSwaggerJson | 是否生成SwaggerJson文件 | boolean | false | false | | template | 想要生成的 HTTP 客户端模板 | string | `'umi-request'` | false | | importText | 导入依赖的语句 | string | `默认导入语句` | false | | multipleFiles | 多文件模式 | boolean | true | false |