@delicloud/openapi
v1.0.2
Published
enerate ES6 or TypeScript service integration code from an OpenAPI spec
Downloads
4
Readme
介绍
根据 OpenApi3 文档生成 request 请求代码。
使用
npm i --save-dev @delicloud/openapi
在 package.json
的 script
中添加命令: "openapi": "openapi -s https://petstore.swagger.io/v2/swagger.json -o ./src/services/",
生成 api
npm run openapi
参数
| 属性 | 必填 | 备注 | 类型 | 默认值 | | --- | --- | --- | --- | --- | | src | 是 | Swagger 2.0 或 OpenAPI 3.0 的地址 | string | - | | output | 否 | 生成的文件夹的路径 | string | ./src/services | | requestImportStatement | 否 | 自定义请求方法表达式 | string | - | | projectName | 否 | 项目名称 | string | api | | namespace | 否 | 命名空间名称 | string | API | | baseUrl | 否 | baseUrl | string | - | | template | 否 | api 模板,可自定义 | - | | mockFolder | 否 | mock 目录 | string | - | | enumStyle | 否 | 枚举样式 | string-literal | enum | string-literal | | tag | 否 | tag 映射关系,可重新定义 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/