npm

@wwtest/swagger2ts

1.2.5 • Public • Published

@wwtest/swagger2ts

swagger文档转ts工具

全局安装

npm i @wwtest/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", // 类型定义输出目录 必填
  servicesDir: "./src/service", // services输出目录 必填
  ignoreKeys: ["Authorization", "Tenant-Id"], // 忽略掉的传参字段
  ignoreType: ["header"], // 忽略掉的传参位置
  ignoreUrl: [], // 忽略掉的接口url
  ignoreUrlPrefix: [], // 忽略掉的接口url前缀
  typeTopConfig: ``, // type文件顶部公用内容
  serviceTopConfig: `import request from '@/utils'\n`, // service文件顶部公用内容
  getTem: `return request.get($requestUrl, $params)`, // get方法body代码模版
  postTem: `return request.post($requestUrl, $params)`, // post方法body代码模版
  exportApiTem: `export const $apiName = (params: $reqInterface): $resInterface => {
      $body
  }
  `, // serviceApiType 为 default 时生效
  serviceApiType: 'default', // default 默认 class class形式输出
};

指令

swagger2ts --version (-V) // 查看版本号
swagger2ts --help (-h) // 查看帮助信息
swagger2ts --config (-c) // 指定配置文件

注意事项

目前只支持swagger2.0版本

只支持 get 和 post 请求方式,可根据项目不同 配置 get 和 post 请求模板

使用该工具前,请务必保证您的请求方法封装完成

目前返回信息中只导出data字段类型定义

更新事项

2023-07-14

v1.1.4

fix: 修复重复输出interface的问题

2023-07-14

v1.2.0

feat: types和service层分离

2023-07-14

v1.2.3

fix: 修复某些场景service引入types缺少的问题

2023-07-18

v1.2.4

feat: 支持class service形式输出

Readme

Keywords

none

Package Sidebar

Install

npm i @wwtest/swagger2ts

Weekly Downloads

1

Version

1.2.5

License

ISC

Unpacked Size

35.8 kB

Total Files

8

Last publish

Collaborators

  • weiwei2020