Swagger环境搭建之非依赖代码法

前言

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger 让部署管理和使用功能强大的API从未如此简单。好吧,以上是官方的说法,我直接复制的,在我看来swagger就是一个接口文档管理器,以前我们写接口一般都是world编写,但是有一个问题就是测试的时候需要依赖第三方工具,GET的接口还好,直接浏览器打开,POST的只能依赖另外的工具了,而Swagger呢,可以直接通过代码中的注解生成接口文档(JavaEE),一般人都用这种方式,而且直接集成在项目中,方便成员查看,同时还能直接测试,另外Swagger的界面也不错,也许这就是我选择用Swagger的原因吧,直接官方说的RESTful 风格那个不用管,不是RESTful 风格的接口也能用,当然Swagger还有一种方式就是手动写接口说明了,这样的好处就是代码只有代码,因为一旦代码中添加了Swagger的接口注解后,代码量还是增加了不少,当然坏处就是你改完了代码,还要去改接口文档,而本文主要介绍第二种方式

关键点

Swagger-UI

Swagger-edit在线版

Swagger-edit

Swagger-UI

其实就是静态的HTML、js、css文件,从github上下载下来,打开dist目录下的index.html,就能从运行起来了,不过默认是swwager demo的接口文档,如下图:

效果图

Swagger主要通过json文件来实现接口文档和接口说明等功能,所以我们在输入框内输入不同的json地址,就能打开不同的接口文档

swagger-editor在线版

其实就是一个在线编辑接口文档的网页,刚才说过,Swagger-ui展示出来的接口完全依赖于的json的内容,所以我们可以通过Swagger-edit在线版来定制json的内容,不用自己写json,当然Swagger-edit在线版也是通过yaml 标记语言来的,不过看一下demo,就会很容易学会,编写完成后我们可以下载json文件到本地,供Swagger-ui使用,不过由于某种不为人知的原因,Swagger-edit在线版的访问速度那叫一个慢,所以一般我们都会下载Swagger-Edit在本地来运行

swagger-editor

这个和Swagger-edit在线版是同一个东西,不过因为在线版的速度太慢,所以我们需要在本地来运行一个Swagger-edit,这样就不存在网络卡等问题了

开始部署

下载相关文件
1、下载Swagger-UI

Swagger-UI,直接通过git clone或者下载zip都可以,使用到核心的东西就是下载下来的dist文件夹里面的东西

2、下载swagger-editor

这一步不是必要的,如果你不想用默认在线版的,就可以执行这一步,当然目前除了Swagger默认提供了一个在线的编辑器,还有第三方的,如sosoapi,全中文傻瓜式操作的,上手快速

下载时建议下载最新版的编译后的包,在swagger-editor页面中有说明当前最新的版本号和下载地址

3、下载和安装nodejs

这一步就不详细说了,到处都是教程,而且就算没有教程,相信对于程序员来说安装一个软件也是轻而易举的事情,如果不想用这个,可以直接跳过,查看<a href="#tomcat">tomcat运行swagger-editor</a>

4、安装http-server

使用node.js安装http-server模块,主要通过http-server模块来启用http服务,运行swagger-editor,通过命令

npm install -g http-server

不过由于某些原因,国内安装可能会非常慢,这时候我们就可以用淘宝 NPM 镜像,来加速
首先运行命令

npm install -g cnpm --registry=https://registry.npm.taobao.org

然后可能需要重启cmd命令工具,运行

cnpm install -g http-server

这样就能很快的安装http-server了,同样的道理,如果需要安装其他模块,也可以通过cnpm来安装,然后通过cmd命令进入到Swagger-edit的根目录,运行命令

http-server -p 8000 

-p的作用是指定端口,后面的8000就是我们指定的端口,访问localhost:8000就可以进入swagger-edit就可以进入编辑界面了,左边是编辑框,右边是预览界面,如下图

效果图

当然这一步也不是必须的,如果不愿用通过http-server来运行swagger-editor,可以通过tomcat来运行

<a name="tomcat"></a>tomcat运行swagger-editor

首先把swagger-editor目录复制到tomcat根目录的webapps,然后运行tomcat,访问localhost:8080/swagger-editor就可以了

5、导出json

由于编写接口文档并不在本文档的内容,所以关于编写这里就不多做描述,而且主要我觉得编写也没啥可说,直接跟着默认的接口文档来改就能看出来大概了,所以直接到最后一步,编写完成后导出json文件

点击File->DownLoad json就会下载swagger.json文件

6、部署swagger-ui

首先把json文件复制到swagger-ui根目录,修改index.html的引用json文件的url,最后直接打开index.html也行,部署到服务器也行,不过要注意index.html中引用的json文件的url一定要正确

结语

到此为止部署swagger的步骤已经完成了,如果有不明白或者不清楚的地方,可以留言交流

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容