【工具】根据后端提供的swagger生成前端的axios请求配置文件/api
根据后端提供的 swagger 生成配置文件(JavaScript 文件)【简单的说,就是生成 api 目录】
旧标题:【工具】根据后端提供的swagger生成前端的axios请求配置文件/api
github 地址在这里:
小插曲
之前还有发在掘金,已经删了。
转载麻烦附上原文出处链接!!
如果觉得有用,麻烦给一个免费的star,谢谢!!
用法
假设后端提供的 swagger 地址是 http://255.255.255.255:3000/swagger-ui.html ,只需要取前面部分就可以了(ip 加端口:http://255.255.255.255:3000
)
一个 ip 的情况下: node generateIt.js --ip=http://255.255.255.255:3000
多个 ip 的情况下(使用,
来分割): node generateIt.js --ip=http://255.255.255.255:3000,http://255.255.255.254:1000
说几句
(重要的事情说三遍)
生成之前会先删掉文件夹里面的内容,受影响的话,请把内容移动到其他文件夹!!!
生成之前会先删掉文件夹里面的内容,受影响的话,请把内容移动到其他文件夹!!!
生成之前会先删掉文件夹里面的内容,受影响的话,请把内容移动到其他文件夹!!!
生成之后会有一句提示:某个域名一共 n 个模块(2020-11-30 补充)
这个模块是按请求 url 来划分的,比如:
/adminUser/test、/adminUser/jest 这两个就属于一个模块(adminUser 模块)
/adminUser/test、/test/adminUser 这两个就属于两个模块(adminUser 模块,test 模块)
生成的文件夹是【不一定】有顺序的,【因为请求返回的顺序无法控制,先返回的先处理】,文件夹名称暂定是 api 加索引(api0、api1、…apin)(2020-11-30 补充)
生成的文件夹是和 generateIt.js 在同一目录下的(我加到下面的问题里了)
因为是根据 swagger 来生成的配置文件,后端对接口描述越详细越好
我们这里的后端提供的 swagger 对接口描述的不是特别详细(比如图中有的字段没有描述)...
下面的图中的请求参数的类型使用的是后端定的类型,我没有去处理...(我加到下面的问题里了)
还有就是!如图,import request from '@/utils/request'
这一句我暂时是写死的(我加到下面的问题里了)
已发现的问题 / 可优化的问题:
-
如果后端对参数类型描述不准确,得人力去改…(哭
-
请求参数的类型使用的是后端定的类型
-
request 文件的引入和命名,暂时是写死的(
import request from '@/utils/request'
) -
导出文件这种类型的接口(返回值是文件),需要自己添加
responseType: 'blob'
-
函数的方法名可能会出现 JavaScript 的关键字(2020-11-30 补充)【已修复:如果有关键字,拼接 url 中倒数第二段字符串,否则拼接时间戳】
-
函数的方法名可能会重复(2020-11-30 补充)
增加了两个提示语:(2020-11-30 补充)
1.“计算 url 后缺失 n 个【原因:url 重复】”
2.“处理函数名后,还有重复!!”(但是依然会写入 js 文件中)
-
生成的文件夹和 generateIt.js 在同一目录(2020-11-30 补充)
-
(感谢 @JamLin29 提的 issue)需要 node 版本 14 以上【已修复,8.17.0 以上可用】(2021-11-02 补充)
-
(感谢 @JamLin29 提的 issue)域名只能写 ip【已修复,可以包含字母等的域名】(2021-11-02 补充)
对您有帮助的话,麻烦帮我点个 star 呀!
欢迎大家来完善这个工具或者提问题反馈一下呀!
这个工具仅作学习和辅助使用哦。