Swagger-Editor 安装

本地安装 Swagger Editor

> git clone https://github.com/swagger-api/swagger-editor.git
> npm install

启动本地的Swagger Editor

> http-server

访问 http://127.0.0.1:8080

编辑后可导出为 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
}));

Tags:

Add a Comment

电子邮件地址不会被公开。 必填项已用*标注