一、安装 swagger editor
 
说明:安装swagger前需要安装node工具
 
工具安装
1. node
下载地址:http://nodejs.cn/
 

 
根据自己的需要下载版本即可,本人电脑是: win7 64bit,所以下载后的文件是:node-v10.13.0-x64.msi (双击安装即可,没啥特殊的,不再说明)
 

 
测试node工具是否安装成功?打开cmd终端
 
C:\Users\zz>node -v
v10.13.0
 
C:\Users\zz>npm -v
6.4.1
 
可以看到node.js安装成功!
 
1.1 安装http-server
 
使用node.js安装http-server模块,主要通过http-server模块来启用http服务,运行swagger-editor。通过命令: 
npm install -g http-server
 
安装记录:
C:\Users\zz>npm install -g http-server
C:\Users\zz\AppData\Roaming\npm\http-server -> C:\Users\zz\AppData\Roaming\npm\node_modules\http-server\bin\ht
tp-server
C:\Users\zz\AppData\Roaming\npm\hs -> C:\Users\zz\AppData\Roaming\npm\node_modules\http-server\bin\http-server
 
+ http-server@0.11.1
added 25 packages from 28 contributors in 9.118s
 
C:\Users\zz>
 
 
2.swagger
 
下载后的文件:
swagger-codegen-master.zip
swagger-editor-master.zip
swagger-ui-master.zip
 
2.1 解压 swagger-editor-master.zip

进入到 swagger editor 根目录:
 
C:\Users\zz>cd /d D:\Tools\API_Editor_Tools\tools\swagger\swagger-editor-master\swagger-editor-master
 
运行: http-server -p 8000
 
说明:-p的作用是指定端口,后面的8000就是我们指定的端口,访问localhost:8000就可以进入swagger-edit就可以进入编辑界面了,左边是编辑框,右边是预览界面
 
D:\Tools\API_Editor_Tools\tools\swagger\swagger-editor-master\swagger-editor-master>http-server -p 8000   (注意:需要到该目录下执行此命令)
Starting up http-server, serving ./
Available on:
Hit CTRL-C to stop the server
 
通过浏览器访问:http://localhost:8000/ 或 http://127.0.0.1:8000 即可进入 swagger edit的编辑界面了,左边是编辑框,右边是预览界面
 

 
PS:
如果不愿用通过http-server来运行swagger-editor,可以通过tomcat来运行:
首先把swagger-editor目录复制到tomcat根目录的webapps,然后运行tomcat,访问localhost:8080/swagger-editor就可以了
 
二、swagger-ui 环境搭建
 
1. 新建works文件夹,然后进入到 works目录,执行初始化命令:npm init ,出现如下信息,填的地方可以随便写,也可以不写
 

works目录下生成了一个package.json文件:
 

 
2. 解压swagger-ui-master.zip
 

 
将上截图中的 dist 目录复制到 D:\Tools\API_Editor_Tools\works 目录下:
 

 
 
3. 安装express
 
D:\Tools\API_Editor_Tools\works>npm install express
npm WARN registry Unexpected warning for https://registry.npmjs.org/: Miscellaneous Warning ETIMEDOUT: request to https:
//registry.npmjs.org/bytes failed, reason: connect ETIMEDOUT 104.16.19.35:443
npm WARN registry Using stale package data from https://registry.npmjs.org/ due to a request error during revalidation.
[..................] \ loadDep:statuses: sill resolveWithNewModule ms@2.0.0 checking installable status
 
安装express半天,还没有安装上,按照如下方法,指定镜像服务器获取资源:
 
解决npm install慢的问题: (我使用下面换镜像的方法,依然没有安装成功,后来多次安装,不换镜像,又安装成功了)
 
使用NPM(Node.js包管理工具)安装依赖时速度特别慢,为了安装Express,执行命令后两个多小时都没安装成功,最后只能取消安装,笔者20M带宽,应该不是我网络的原因,后来在网上找了好久才找到一种最佳解决办法,在安装时可以手动指定从哪个镜像服务器获取资源,我们可以使用阿里巴巴在国内的镜像服务器,命令如下:
 
npm install -gd express --registry=http://registry.npm.taobao.org
 
只需要使用–registry参数指定镜像服务器地址,为了避免每次安装都需要--registry参数,可以使用如下命令进行永久设置(个人建议,不要永久设置):
 
npm config set registry http://registry.npm.taobao.org
 
换了国内镜像,安装速度就很快了。
 
最后安装express成功记录:
 
C:\Users\zz>cd /d D:\Tools\API_Editor_Tools\works
 
D:\Tools\API_Editor_Tools\works>npm install express
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN note_app@1.0.0 No repository field.
 
+ express@4.16.4
added 48 packages from 36 contributors and audited 121 packages in 1.767s
found 0 vulnerabilities
 
D:\Tools\API_Editor_Tools\works>
 
安装express后,多了如下信息:

4. 创建index.js
 
work目录下 新建 index.js 文件,index.js文件内容如下:
 
var express = require('express');
var app = express();
app.use('/root', express.static('dist'));
app.get('/', function (req, res) {
  res.send('Hello World!');
});
app.listen(3000, function () {
  console.log('Example app listening on port 3000!');
});
 
 
上述/root也可以换成其他字串
 
5.然后启动,并运行查看,如上代码为3000端口,如有冲突请自行修改
 
D:\Tools\API_Editor_Tools\works>node index.js   // 启动命令
Example app listening on port 3000!
 
 

 
 
在线的官方的Demo已经在本地搭建好了。
 
 
改造之旅
 
a. 希望替换官方的API
 
通过 swagger editor 导出json格式的文件如:swagger.json (这是我们需要的最重要的产物)
 
可以参考官方的文档,编写正确的符合格式的Spec。OpenAPI-Specification(https://github.com/OAI/OpenAPI-Specification)
 
 
配置json文件
 
1) 将 swagger editor 工具导出的 swagger.json 文件拷贝到 D:\Tools\API_Editor_Tools\works\dist 目录下:
 

 
 
2) 打开 D:\Tools\API_Editor_Tools\works\dist\index.html 文件,修改如下:
 

 
上面截图提到的index.js是上面提到的 D:\Tools\API_Editor_Tools\works>node index.js 这个文件
 

重启node index.js,然后重新打开浏览器,可以看到自己根据服务端API编写的API文档。
 
到此swagger-editor 和swagger-ui已经部署完毕了!!
 
参考:
 
https://www.cnblogs.com/shamo89/p/7680941.html    功能强大的swagger-editor的介绍与使用

swagger环境搭建的更多相关文章

  1. 基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建

    基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建 前言 最近做回后台开发,重新抓起以前学过的SSM(Spring+Sp ...

  2. 手把手教你 Apache DolphinScheduler 本地开发环境搭建 | 中英文视频教程

    点击上方 蓝字关注我们 最近,一些小伙伴反馈对小海豚的本地开发环境搭建过程不太了解,这不就有活跃的贡献者送来新鲜的视频教程!在此感谢@Tianqi-Dotes 的细致讲解 贡献者还贴心地录制了中英文两 ...

  3. .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门

    2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...

  4. Azure Service Fabric 开发环境搭建

    微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...

  5. rnandroid环境搭建

    react-native 环境搭建具体步骤这个大家已经玩烂了,这个主要是记录下来自己做win7系统遇到的坑 1.com.android.ddmlib.installexception 遇到这个问题,在 ...

  6. python开发环境搭建

    虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...

  7. springMVC初探--环境搭建和第一个HelloWorld简单项目

    注:此篇为学习springMVC时,做的笔记整理. MVC框架要做哪些事情? a,将url映射到java类,或者java类的方法上 b,封装用户提交的数据 c,处理请求->调用相关的业务处理—& ...

  8. 【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~

    一.写在前面 web开发有前端和后端之分,其实android还是有前端和后端之分.android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发.androi ...

  9. Nexus(一)环境搭建

    昨天,成功搭建了自己的 Maven 环境(详见:Maven(一)环境搭建),今天就来研究和探讨下 Nexus 的搭建! 使用背景: 安装环境:Windows 10 -64位 JDK版本:1.7 Mav ...

随机推荐

  1. 如何使用 OpenFileDialog 组件 (选择文件组件)

        向程序设计窗体中添加一个OpenFileDialog控件,在属性对话框中设置其Filter属性为 "所有文件(*.*)|*.*|文本文件(*.txt)|*.txt|WPS文档(*.w ...

  2. Java非递归的方式获取目录中所有文件(包括目录)

    零.思路解析 对于给出的文件查看其下面的所有目录,将这个目录下的所有目录放入待遍历的目录集合中,每次取出该集合中的目录遍历,如果是目录再次放入该目录中进行遍历. 一.代码 /** * 非递归的方式获取 ...

  3. CentOS 7 64位更换内核安装锐速破解版

    1.更新内核 rpm -ivh http://soft.91yun.org/ISO/Linux/CentOS/kernel/kernel-3.10.0-229.1.2.el7.x86_64.rpm - ...

  4. MathType如何设置标尺的单位

    MathType在编辑公式的时候,经常会需要将公式对齐.在将公式对齐的这个过程中,有时候会用到标尺,这样可以更精确的定位公式的位置.我们在使用标尺的时候,有时候会发现标尺上显示的是英寸,而我们平常已经 ...

  5. mysql中查看某个日期是星期几?如何知道某个日期是星期几?某个日期是周几?

    需求描述: mysql中,如果要查看某个日期是星期几,可以用date_format函数实现,在此记录下. 操作过程: 1.通过date_format函数查看某个日期是星期几 mysql> sel ...

  6. 如何在windows上测试iphone?

    本教程将会让你没有mac照样测试iphone,这是我折腾了几天总结下来的,希望对大家有用. 先来几张效果图吧 方法很简单,但是配置起来说实话有点麻烦,先在电脑上安装vmware,在安装osx系统,在安 ...

  7. graphicsmagick常用命令

    显示图像文件详细信息 gm identify a.jpg 1.更改当前目录下.jpg的尺寸大小,并保存于目录.thumb里面 gm mogrify -output-directory .thumbs ...

  8. 浅谈iPhone OS(iOS)架构

    iPhone OS(现在叫iOS)是iPhone, iPod touch 和 iPad 设备的操作系统

  9. 子窗口访问父页面iframe中的iframe,top打开的子窗口访问父页面中的iframe中的iframe

    子窗口访问父页面iframe中的iframe 子窗口访问最顶层页面中的iframe中的iframe top打开的子窗口访问父页面中的iframe中的iframe top打开的子窗口访问最顶层页面中的i ...

  10. C# Serializable对象序列化的作用

    http://www.cnblogs.com/linlf03/archive/2011/11/03/2234424.html 1.序列化定义:将对象转换为容易传输的格式的过程.例如,可以序列化一个对象 ...