Node.js +Swagger Editor + Swagger-UI 環境搭建
安裝node.js
點選 安裝器 node-v6.11.1.pkg
開始安裝
一路下一步,安裝完成
node.js安裝後驗證
npm -v
node -v
下載Swagger-Editor
複製最新 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
安裝 express
建立一個空資料夾node_app
mkdir node_app
初始化 node ,建立package.json檔案()
cd node_ap
~/node_app ✗ >npm init
// 下面的看你心情填寫
name: (node_app) node_app
version: (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/#/
接下來就是重點學習一下 文件編寫的語法了
應用git WebHook功能自動通知阿里雲伺服器更新程式碼
同樣可以將該專案部署到阿里雲伺服器,將yaml檔案用git管理。應用coding或github等git網站的webhook功能,向伺服器傳送一個http請求,讓伺服器自動執行 git pull
命令,更新程式碼,小拉以coding.net為例
1.在伺服器建好了一個shell指令碼 用於執行git pull
命令 命名為gitpush.sh h 新增如下內容
#!/bin/bash
cd /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";
}
- 在coding.net 對應的swagger專案中新建webhook
將之前將的web請求地址放進去
4. 這樣在本地swagger.yaml檔案 git push
時,就會自動更新到了阿里雲伺服器