我的目标是,给我一份配置,导入json生成一份份代码,再也不用手写node层接口
先附code
https://github.com/xss392795158/swagger.git
通过swagger UI定义好接口相关参数信息
导出spec.json 我本地放到swagger目录
项目主文件webpack4_react 下的app.js
读取json并生成
app.js 写入目标地址(这儿做了检查,若已有则不再新生成,可优化点)
因为项目用了react,相应对文件做了处理,这里不再赘述,可git地址 pull下来自己看
运用
先看下官网的ui demo
接口地址为 /pet
看下生成的js
初始化参数option
和方法定义
(这里有个问题,headers的content-type默认是两种,会导致服务端接受不到post传过来的参数,故在配置文件的地方就去掉有“application/xml”的地方 ,如下图,有十几处)
还可以直接设置服务端host
删除不必要的xml,修改host和basePath配置后 重新生成Test4.js文件
声明一下,刚才生成的js是node层的
CodeGen.getNodeCode()
所以算是中间层代码,在app.js对浏览器发来的请求进行拦截并用Test4进行提交
如下:app.js
api/index.js
【注意,param内必须是body属性,而且是必填,body内是根据swagger文档定义的参数来传】
那么
接下来使用,因为app.js设定了对/pet拦截,所以只要发http请求到/pet即可,因为使用了axios,所以需要先import进来,当然先要npm install:
然后写个button触发一下handleSubmitPost方法
还有啥不清楚的,直接看代码,或者联系我
我的目标是,给我一份配置,导入json生成一份份代码,再也不用手写node层接口
七夕?快乐
更新于2019.8.9