Node.js +Swagger Editor + Swagger-UI 环境搭建

来源:互联网 发布:宋朝士大夫 知乎 编辑:程序博客网 时间:2024/06/03 17:57

安装node.js

下载node.js最新版
https://nodejs.org/en/download/

点击 安装器 node-v6.11.1.pkg 开始安装

一路下一步,安装完成

node.js安装后验证

 npm -v  node -v 

下载Swagger-Editor

https://github.com/swagger-api/swagger-editor/releases

复制最新 release下载地址

在终端下载
wget https://github.com/swagger-api/swagger-editor/archive/v3.0.17.tar.gz

下载完成,后解压

tar -zxvf v3.0.17.tar.gz

安装node.js HttpServer

npm install -g http-server 安装完成如下图

启动Swagger-Editor项目

http-server swagger-editor 以8080端口启动项目
http-server –p 8082 swagger-editor 指定端口启动项目

http-server -p 8081 swagger-editor-3.0.17

浏览器访问

下载swagger-ui

可以直接 git clone
git clone https://github.com/swagger-api/swagger-ui.git

也可以下载最新的release

https://github.com/swagger-api/swagger-ui/releases

安装 express

创建一个空文件夹node_app
mkdir node_app
初始化 node ,创建package.json文件()

cd node_ap~/node_app ✗ >npm init
// 下面的看你心情填写name: (node_app) node_appversion: (1.0.0)description:entry point: (index.js)test command:git repository:keywords:author:license: (ISC)

安装 express
~/node_app git:(master) ✗ >npm install express --save

创建 index.js

~/node_app git:(master) ✗ >vim index.js
把下面代码贴如 index.js 中

var express = require('express');var app = express();app.get('/', function (req, res) {  res.send('Hello World!');});app.listen(3000, function () {  console.log('Example app listening on port 3000!');});

在 node_app 中创建空目录 public

  ~/node_app git:(master) ✗ >mkdir public  ~/node_app git:(master) ✗ >cd public

修改路由

  ~/node_app/public git:(master) ✗ >vim ../index.js//在文件第三行插入下面这句话app.use('/static', express.static('public'));

把下载好的Swagger UI 文件中dist 目录下的文件全部复制到 public 文件夹下。

修改index.html文档文件

将index.html首页中的javascript代码中的url修改为 /static/test.json

重启node服务器

~/node_app git:(master) ✗ >node index.js

浏览器打开 http://localhost:8082/static/#/

接下来就是重点学习一下 文档编写的语法了

参见 https://www.gitbook.com/book/huangwenchao/swagger/details

应用git WebHook功能自动通知阿里云服务器更新代码

同样可以将该项目部署到阿里云服务器,将yaml文件用git管理。应用coding或github等git网站的webhook功能,向服务器发送一个http请求,让服务器自动执行 git pull命令,更新代码,小拉以coding.net为例

1.在服务器建好了一个shell脚本 用于执行git pull命令 命名为gitpush.sh h 添加如下内容

#!/bin/bashcd /root/swagger;git pull

注意修改可执行权限 sudo chmod 744 gitpull.s
2. 写一个java web应用,例用java调用shell命令,以springboot为例

 @RequestMapping("/run_pull")    public String runGitPull()    {        try {            String shpath="/root/swagger/gitpull.sh";            Process ps = Runtime.getRuntime().exec(shpath);            ps.waitFor();            BufferedReader br = new BufferedReader(new InputStreamReader(ps.getInputStream()));            StringBuffer sb = new StringBuffer();            String line;            while ((line = br.readLine()) != null) {                sb.append(line).append("\n");            }            String result = sb.toString();            System.out.println(result);        }        catch (Exception e) {            e.printStackTrace();            return "git pull faild!" + e.toString();        }        return "git pull ok";    }
  1. 在coding.net 对应的swagger项目中新建webhook


将之前将的web请求地址放进去
4. 这样在本地swagger.yaml文件 git push时,就会自动更新到了阿里云服务器

原创粉丝点击