2017-12-21
Swagger-Editor 安装
本地安装 Swagger Editor
> git clone https://github.com/swagger-api/swagger-editor.git
> npm install
启动本地的Swagger Editor
> http-server
编辑后可导出为 json 格式的文件,在 Swagger-UI 中显示
解决跨域问题
本地部署好 Swagger UI 之后,虽然生成的 curl 命令是正确的,但是点击 try it out,返回值一直是 no content,经过查阅确认是因为 JavaScript 存在的同源问题
在 swagger.js 中,封装了一个真正向服务端发请求的方法 /getResponse
在 public/swagger-ui.js 中,修改 Operation.prototype.urlify = function (args, maskPasswords)。
将 url 值替换,实现对请求的拦截。
var url = '/getResponse';
Swagger UI 直接点击 try it out 之后,请求是先发到 node,然后由 swagger.js 再向服务端真实发出请求,再将返回值传给 Swagger UI 解析展示。
当然过程中有 body 不能解析的情况,需要安装库
npm install multer --save
并加入代码
var bodyParser = require('body-parser');
var querystring = require('querystring');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true
}));