@deepinnet/swagger2ts
v1.1.3
Published
> swagger文档转ts的小工具
Downloads
15
Readme
@deepinnet/swagger2ts
swagger文档转ts工具
全局安装
npm i @deepinnet/swagger2ts -g
安装好后查看版本
swagger2ts -V
使用方式
在项目根目录创建 swagger2ts.config.js 配置文件
文件内容如下(配置项参考下文):
module.exports = {
url: "http://192.168.3.200:10052/v2/api-docs",
typesDir: "./src/types",
servicesDir: "./src/service",
};
在项目根目录运行
swagger2ts
默认配置文件内容如下
// 默认配置
module.exports = {
// url: 'http://192.168.3.200:10052/v2/api-docs', // swagger文档地址
typesDir: "./src/types", // 类型定义输出目录 必填 必须以./src开头
servicesDir: "./src/service", // services输出目录 必填 必须以./src开头
ignoreKeys: ["Authorization", "Tenant-Id"], // 忽略掉的传参字段
ignoreType: ["header"], // 忽略掉的传参位置
ignoreUrl: [], // 忽略掉的接口url
ignoreUrlPrefix: [], // 忽略掉的接口url前缀
typeTopConfig: ``, // type文件顶部公用内容
serviceTopConfig: `import request from '@/utils'\n`, // service文件顶部公用内容
getTemp: `return request.get($requestUrl, { params: $params })`, // get方法body代码模版
postTemp: `return request.post($requestUrl, $params)`, // post方法body代码模版
exportApiTemp: `export const $apiName = (params: $reqInterface): $resInterface => {
$body
}
`, // serviceApiType 为 default 时生效
serviceApiType: 'class', // default 默认 class class形式输出
apiUrlGroupLevel: 1
};
指令
swagger2ts --version (-V) // 查看版本号
swagger2ts --help (-h) // 查看帮助信息
swagger2ts --config (-c) // 指定配置文件
注意事项
目前只支持swagger2.0版本
只支持 get 和 post 请求方式,可根据项目不同 配置 get 和 post 请求模板
使用该工具前,请务必保证您的请求方法封装完成
目前返回信息中只导出data字段类型定义
更新事项
2023-07-20
v1.0.0
新组织,新包
2023-08-24
v1.0.4
支持多级输出
2023-09-01
v1.0.8
class输出模式改为static静态方法