1.0.2 • Published 2 years ago

@delicloud/openapi v1.0.2

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

介绍

根据 OpenApi3 文档生成 request 请求代码。

使用

npm i --save-dev @delicloud/openapi

package.jsonscript 中添加命令: "openapi": "openapi -s https://petstore.swagger.io/v2/swagger.json -o ./src/services/",

生成 api

npm run openapi

参数

属性必填备注类型默认值
srcSwagger 2.0 或 OpenAPI 3.0 的地址string-
output生成的文件夹的路径string./src/services
requestImportStatement自定义请求方法表达式string-
projectName项目名称stringapi
namespace命名空间名称stringAPI
baseUrlbaseUrlstring-
templateapi 模板,可自定义-
mockFoldermock 目录string-
enumStyle枚举样式string-literal | enumstring-literal
tagtag 映射关系,可重新定义 tag 的名称object-

CLI

使用: openapi [options]

参数:

  -c, --config <path>        配置文件路径
  -s, --src <url|path>       OpenAPI 文档地址
  -t, --template <string>    api模板,默认: "axios",可自定义
  -o, --output <path>        生成的文件夹的路径
  -b, --baseUrl <string>     baseUrl. 默认值: ""
  -n, --namespace <string>   命名空间名称,默认值: "API"
  -e, --enumStyle <string>   枚举样式,默认: "string-literal"
  -p, --projectName <string> 项目名称,默认: "api"

配置文件

openapi.config.js

module.exports = {
  src: 'https://petstore.swagger.io/v2/swagger.json',
  output: './src/services/',
  requestImportStatement: "import request from '@/utils/request'",
  projectName: 'api',
  namespace: 'API',
  enumStyle: 'string-literal',
  tag: {
    '用户接口': 'UserService',
    '产品接口': 'ProductService',
  },
};

使用

openapi -c openapi.config.js

Templates

当内置模板不满足需求时,可使用 -t 自定义:

openapi -s https://petstore.swagger.io/v2/swagger.json -o ./src/services -t ./custom-template/