1.1.34 • Published 7 months ago
openapi2api v1.1.34
openapi2Api
openapi 生成 api 工具
使用
npm i openapi2Api -D
import { genApi } from 'openapi2api'
genApi({
apiJsonData,
outDir: "/example/api/modules/ambition",
apiOutDir: "modules",
exportApiName: "ambitionApi",
interfaceOutDir: "interfaces",
requestUrl: "@/utils/service",
customUrlPlugin: (url, tags) => {
let serviceName = "";
if (tags?.[0]) {
serviceName = tags[0].split("/")[0];
}
switch (serviceName) {
case "user":
return "/ambition-api/user" + url;
case "thing":
return "/ambition-api/thing" + url;
default:
return url;
}
},
});
genApi({
swaggerJsonUrl: "http://172.18.14.28:5010/swagger/Bearer/swagger.json",
outDir: "/example/api/modules/editor",
apiOutDir: "modules",
exportApiName: "editorApi",
interfaceOutDir: "interfaces",
requestUrl: "@/utils/service",
customUrlPlugin: (url, tags) => {
return url.replace("/graphics/bearer", "");
},
});
参数
参数名 | 描述 |
---|---|
swaggerJsonUrl | api json 地址,swagger 文档中按 F12 可看到 json 请求地址,和 apiJsonData 传入一个即可 |
apiJsonData | api 的 json 数据,和 swaggerJsonUrl 传入一个即可 |
baseUrl | baseUrl 会添加到生成的 url 前面 |
outDir | 文件输出目录,如/src/api |
exportApiName | 导出的 api 集合名称 |
apiOutDir | api 输出目录名 |
interfaceOutDir | interface 输出目录名 |
requestUrl | request 引入地址,使用默认导出,默认路径./request |
needExtendTemplate | 是否需要拓展 api 的模板,并且在 api 中会自动引入拓展文件 |
customUrlPlugin | 自定义 url 插件,参数 1:原始 url,参数 2:tags,需要返回格式化后的 url |
customGroupPlugin | 自定义 group 插件,参数:格式化后的 url,需要返回当前 url 的分组,用于创建文件分组 |
customReqNamePlugin | 自定义请求方法名称插件,参数 1:格式化后的 url,参数 2:默认生成的 name 名称,需要返回自定义的 name |
customInterFacePlugin | 自定义 interface 内容插件,参数 interface 数据,包含名称,参数类型,是否必填,需要返回对象,key 是 interface 名,value 是对应 interface{}里的内容 |
Feature
- 输出目录简化
- 自动格式化
- 优化参数判断逻辑 √
- 支持自定义格式化 url √
- 优化分组实现逻辑
- 使用模板来替换文件字符写入
1.1.29
7 months ago
1.1.28
7 months ago
1.1.30
7 months ago
1.1.34
7 months ago
1.1.33
7 months ago
1.1.32
7 months ago
1.1.31
7 months ago
1.1.16
9 months ago
1.1.15
9 months ago
1.1.14
9 months ago
1.1.13
9 months ago
1.1.19
8 months ago
1.1.18
8 months ago
1.1.17
8 months ago
1.1.23
7 months ago
1.1.22
7 months ago
1.1.21
7 months ago
1.1.20
8 months ago
1.1.27
7 months ago
1.1.26
7 months ago
1.1.25
7 months ago
1.1.24
7 months ago
1.1.12
9 months ago
1.1.11
9 months ago
1.1.1
10 months ago
1.0.19
11 months ago
1.1.0
10 months ago
1.0.18
11 months ago
1.0.17
11 months ago
1.0.16
11 months ago
1.1.9
10 months ago
1.1.8
10 months ago
1.0.9
11 months ago
1.1.7
10 months ago
1.0.8
11 months ago
1.1.6
10 months ago
1.1.5
10 months ago
1.1.4
10 months ago
1.1.3
10 months ago
1.1.2
10 months ago
1.1.10
10 months ago
1.0.20
10 months ago
1.0.11
11 months ago
1.0.10
11 months ago
1.0.15
11 months ago
1.0.14
11 months ago
1.0.13
11 months ago
1.0.12
11 months ago
1.0.7
11 months ago
1.0.6
11 months ago
1.0.4
11 months ago
1.0.3
11 months ago
1.0.2
11 months ago
1.0.1
11 months ago
1.0.0
11 months ago