使用全局安装命令
npm install -g typescript-umi-request
打开控制台,执行
# 生成查看文件 openapi.example.json openapi.example.js openapi_demo_index.d.ts openapi_demo_typings.d.ts
openapi --eg
{
"output": "./dist", # 输出目录(必填)
"groups": [
{
"url": "http://xxx.xxx.xxx.xxx/api/v3/api-docs?group=公共接口", # swagger文档地址(必填)
"groupName": "公共接口", # 分组名称(必填)
"output": "./dist/common", # 输出目录(可以覆盖全局的output)
"groups": { # 接口路径自定义分组
"/api/base/user": {
"dir": "base/user", # 接口文件输出目录
"paths":[ # 案列字段,不需要填写,会自动把 /api/base/user 前缀的接口收集起来
"/api/base/user/add",
"/api/base/user/update",
]
},
"/api/upload": {
"dir": "upload",
}
}
}, {
"url": "http://xxx.xxx.xxx.xxx/api/v3/api-docs?group=系统接口", # swagger文档地址(必填)
"groupName": "系统接口", # 分组名称(必填)
}
]
}
const output = "./dist" // 输出目录(必填)
const getGroupData = (urls, replaceValue = "/api/") => {
const groupData = {}
urls.forEach(url => {
groupData[url] = {
dir: url.replace(replaceValue, ""),
paths: []
}
});
return groupData
}
const groups = [
{
"url": "http://xxx.xxx.xxx.xxx/api/v3/api-docs?group=公共接口", # swagger文档地址(必填)
"groupName": "公共接口", # 分组名称(必填)
"output": "./dist/common", # 输出目录(可以覆盖全局的output)
"groups": { # 接口路径自定义分组
"/api/base/user": {
"dir": "base/user", # 接口文件输出目录
"paths":[ # 案列字段,不需要填写,会自动把 /api/base/user 前缀的接口收集起来
"/api/base/user/add",
"/api/base/user/update",
]
},
"/api/upload": {
"dir": "upload",
}
}
}, {
"url": "http://xxx.xxx.xxx.xxx/api/v3/api-docs?group=系统接口", # swagger文档地址(必填)
"groupName": "系统接口", # 分组名称(必填)
}
]
module.exports = {
groups, // 必填
output // 必填
}
生成文件
openapi --config ./openapi.json
# or
openapi --config ./openapi.js
# or
openapi -c ./openapi.json
# or
openapi -c ./openapi.js