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

待我称王封你为后i 2022-06-11 01:10 332阅读 0赞

安装node.js

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

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

一路下一步,安装完成
006tKfTcly1g138d3y0d6j30ya0oatfc.jpg

node.js安装后验证

  1. npm -v
  2. node -v

006tKfTcly1g138982jdbj30nk06sq30.jpg

下载Swagger-Editor

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

复制最新 release下载地址
006tKfTcly1g138dxt54cj31bu0jwjsc.jpg

在终端下载
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

浏览器访问
006tKfTcly1g138fluqowj30wt07dq3f.jpg

下载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文件()

  1. cd node_ap
  2. ~/node_app >npm init
  3. // 下面的看你心情填写
  4. name: (node_app) node_app
  5. version: (1.0.0)
  6. description:
  7. entry point: (index.js)
  8. test command:
  9. git repository:
  10. keywords:
  11. author:
  12. license: (ISC)

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

创建 index.js

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

  1. var express = require('express');
  2. var app = express();
  3. app.get('/', function (req, res) {
  4. res.send('Hello World!');
  5. });
  6. app.listen(3000, function () {
  7. console.log('Example app listening on port 3000!');
  8. });

在 node_app 中创建空目录 public

  1. ~/node_app git:(master) >mkdir public
  2. ~/node_app git:(master) >cd public

修改路由

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

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

修改index.html文档文件

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

2017-07-26-133146.jpg

重启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 添加如下内容

  1. #!/bin/bash
  2. cd /root/swagger;git pull

注意修改可执行权限 sudo chmod 744 gitpull.s

  1. 写一个java web应用,例用java调用shell命令,以springboot为例

    @RequestMapping(“/run_pull”)

    1. public String runGitPull()
    2. {
    3. try {
    4. String shpath="/root/swagger/gitpull.sh";
    5. Process ps = Runtime.getRuntime().exec(shpath);
    6. ps.waitFor();
    7. BufferedReader br = new BufferedReader(new InputStreamReader(ps.getInputStream()));
    8. StringBuffer sb = new StringBuffer();
    9. String line;
    10. while ((line = br.readLine()) != null) {
    11. sb.append(line).append("\n");
    12. }
    13. String result = sb.toString();
    14. System.out.println(result);
    15. }
    16. catch (Exception e) {
    17. e.printStackTrace();
    18. return "git pull faild!" + e.toString();
    19. }
    20. return "git pull ok";
    21. }
  2. 在github对应的swagger项目中新建webhook

将之前将的web请求地址放进去

  1. 这样在本地swagger.yaml文件 git push时,就会自动更新到了阿里云服务器

发表评论

表情:
评论列表 (有 0 条评论,332人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Nodejs环境

      通常情况下只需要官网nodejs的安装套件一键安装即可包含nodejs框架和npm命令行 部分由于系统其他工具依赖预先安装了nodejs环境导致版本老旧,需要手动升级,