1.0.1 • Published 2 years ago

js-swagger2service-tool v1.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

js-swagger2service-tool

js-swagger2service-tool 是一个可以通过 swagger 文档自动生成前端 service 文件的工具。

特性

  • 同时兼容 OAS2OAS3
  • 支持主流的HTTP客户端库(目前支持 axiosumi-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:

参数说明类型默认值是否必须
urlswagger 文档的地址string-url 或者 data 选填
dataswagger 文档的 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 文件和类型booleanfalsefalse
1.0.1

2 years ago

1.0.0

2 years ago