今日突然心血来潮,想看一下swagger这个东西是怎么写的,毕竟这个还是很有实用价值的,看着醒目,而且可以测试接口。
还没来得及去研究做的每一步的原因,先把流程贴出来,以后真要用的话再好好研究。这次用windows环境搞的。
1.对于内容的编辑:安装swagger-editor
a.下载并安装nodejs.(暂时还不知道为啥,猜测一下应该相当于一个解释器)
验证安装成功:cmd-->输入:node -v -->返回nodejs的版本。 输入:npm -v ,返回npm的版本。(npm是node的包管理器)
b.下载并安装http-server,执行命令:npm install -g http-server 这是指安装http-server服务器,-g是指全局安装,在安装nodejs时可指定全局位置,具体可以去网上搜索看如何指定位置,不指定也没影响,这里不详细说明。
c.下载editor文件:
打开swagger-editor官网,也可以在https://github.com/swagger-api/swagger-editor/releases/download/v2.10.4/swagger-editor.zip,直接下载。
d.运行及查看效果:在cmd中定位到swagger-editor文件夹同级目录后,输入http-server -p 8080 swagger-editor,默认8080端口.可看到启动成功的提示。
e.在浏览器中输入地址,即可以进行查看和编辑,在编辑之后,有导出yaml,json等多种用于编辑的功能。
--------------------------------------------------------------
2.对于内容的查看:安装swagger-ui
a.下载swagger-ui文件,可以在https://github.com/swagger-api/swagger-ui 下载zip文件,然后解压,将dist文件夹拷出,看到其index.html就是我们要的样式,只是内容不是我们自己的,并且不是通过http访问,后面就解决这两个问题。
b.随便建个文件夹,比如 aaa,把它初始化为node方式:
通过cmd到其aaa文件夹里,然后执行 npm init,让输入name之类的地方都可以直接回车。完成之后aaa里会多出一个package.json的文件。
c.将dist文件夹拷到aaa文件夹中。
d.安装express,执行 npm install express,看到安装完成。(不知道这是干啥的)
e.在aaa文件夹中创建index.js,内容如下:
var express = require('express');
var app = express();
app.use('/', express.static('dist')); //此处有url路径,如果写/test,则浏览器访问时,也需要port:/test/
app.get('/', function (req, res) {
res.send('Hello World!');
});
app.listen(3000, function () { //3000 端口,可修改
console.log('Example app listening on port 3000!');
});
f.测试。
执行:node index.js
g:自定义。
通过以上几步,已经完成了index.html通过http的访问,且样式也是swagger的样式了。
但是,我们还有最后一步,就是要把内容换成我们自己的。
在dist中的index.html中,看到了 url: "http://petstore.swagger.io/v2/swagger.json",
所以其实目前在页面上看到的内容,都来自于这个swagger,如果想换呢,就把这个文件替换路径即可。
怎么找到其他可用的swagger的json呢,想到了之前在测试swagger-editor时的页面,直接file-->download json,就得到了它的swagger.json文件
然后可以把这个文件放在aaa/dist这个文件夹下面,同时把url修改为:url: "/swagger.json"
h:刷新:大功告成。
总结一下:其实主要是把swagger-ui的index.html,通过配置可以实现在浏览器中访问。然后再把内容用editor编辑好即可。
在editor中,会有host,basepath等变量,用于指示swagger在try it out的时候,向哪里发消息。
例如:修改为 host: 10.9.102.133:8061
本文档介绍了在Windows上安装和使用Swagger Editor与Swagger UI的步骤,包括安装Node.js和Http-Server,编辑和查看Swagger文档,以及如何将内容替换成自定义的Swagger JSON。

1394

被折叠的 条评论
为什么被折叠?



