docker搭建yapi介面檔案系統、Idea中上傳介面、線上呼叫

2022-10-08 12:01:26

一、前言

在我們後端開發中,必不可少的是介面的交接,有很多種方式,常見的就是swagger,不過這個侵入性太強了。還有就是介面檔案的框架,比如今天小編帶大家一起搭建的yapi,在公司還是挺常見的!
今天小編就大家從搭建到使用,詳細的教學一波哈!!

二、介紹

1. 平臺介紹


YApi 是高效、易用、功能強大的 api 管理平臺,旨在為開發、產品、測試人員提供更優雅的介面管理服務。可以幫助開發者輕鬆建立、釋出、維護 API,YApi 還為使用者提供了優秀的互動體驗,開發人員只需利用平臺提供的介面資料寫入工具以及簡單的點選操作就可以實現介面的管理。

2. 特性

  • 基於 Json5 和 Mockjs 定義介面返回資料的結構和檔案,效率提升多倍
  • 扁平化許可權設計,即保證了大型企業級專案的管理,又保證了易用性
  • 類似 postman 的介面偵錯
  • 自動化測試, 支援對 Response 斷言
  • MockServer 除支援普通的隨機 mock 外,還增加了 Mock 期望功能,根據設定的請求過濾規則,返回- - 期望資料
  • 支援 postman, har, swagger 資料匯入
  • 免費開源,內網部署,資訊再也不怕洩露了

3. 環境支援

  • nodejs(7.6+)
  • mongodb(2.6+)
  • git

在docker中只需要搭建一下mongo,用來資料的儲存即可!

三、執行mongo

0. 建立網路

docker network create yapi

1. 建立掛載檔案

mkdir -p /data/mongo

2. 執行mongo

docker run -d \
  --name mongodb \
  --restart always \
  --net=yapi \
  -p 27017:27017 \
  -v /data/mongo:/data/db \
  -e MONGO_INITDB_DATABASE=yapi \
  -e MONGO_INITDB_ROOT_USERNAME=yapi \
  -e MONGO_INITDB_ROOT_PASSWORD=yapi \
  mongo

啟動 MongoDB,其中 -e 指定 MONGO_INITDB_ROOT_USERNAME 為 MongoDB 的 ROOT 使用者名稱,MONGO_INITDB_ROOT_PASSWORD 為 MongoDB 的 ROOT 使用者密碼

3. 進入容器初始化資料庫

進入 MongoDB 容器,從上圖檢視 MongoDB 容器可以獲取到容器 id,以下範例使用 50f1f6c50139代表 MongoDB 的容器 id,只需要簡寫即可!

docker exec -it 50 /bin/bash

接著輸入:

mongosh

新版本需要加上sh,不然無法進入!

use admin;
db.auth("yapi", "yapi");
# 建立 yapi 資料庫
use yapi;
# 建立給 yapi 使用的賬號和密碼,限制許可權
db.createUser({
  user: 'yapi',
  pwd: 'yapi',
  roles: [
 { role: "dbAdmin", db: "yapi" },
 { role: "readWrite", db: "yapi" }
  ]
});
# 退出 Mongo Cli
exit
# 退出容器
Ctrl+P+Q

四、執行yapi

1. 搭建掛載組態檔

mkdir -p /data/yapi
vim config.json
{
   "port": "3000",
   "adminAccount": "[email protected]",
   "timeout":120000,
   "db": {
     "servername": "mongo",
     "DATABASE": "yapi",
     "port": 27017,
     "user": "yapi",
     "pass": "yapi",
     "authSource": ""
   },
   "mail": {
     "enable": true,
     "host": "smtp.gmail.com",
     "port": 465,
     "from": "*",
     "auth": {
       "user": "[email protected]",
       "pass": "xxx"
     }
   }
 }

:wq退出

2. 初始化資料庫表

docker run -d --rm \
  --name yapi-init \
  --link mongodb:mongo \
  --net=yapi \
  -v /data/yapi/config.json:/yapi/config.json \
   yapipro/yapi \
  server/install.js

3. 測試連線mongo

我們使用Navicat進行視覺化的連線
資料庫輸入:admin
使用者名稱密碼都是剛剛設定的:yapi

連線成功!!

4. 執行yapi

docker run -d \
   --name yapi \
   --link mongodb:mongo \
   --restart always \
   --net=yapi \
   -p 3000:3000 \
   -v /data/yapi/config.json:/yapi/config.json \
   yapipro/yapi \
   server/app.js

5. 測試使用

ip:3000
http://192.168.84.144:3000/


初始化管理員賬號在上面的 config.json 設定中adminAccount
初始化密碼就是:yapi.pro

6. 新建專案

7. 獲取token

五、Idea中使用

1. 下載外掛

外掛名稱:EasyYapi

2. 設定外掛

3. 測試上傳

找到controller


選擇你要上傳的介面,點選對號上傳!

填寫token


上傳成功:

六、線上請求使用

1. 設定地址

2. 設定地址

3. 安裝cross-request 外掛

傳送請求時,會提醒你安裝,你按照提示安裝下載即可!

也可以下載小編的:

連結:https://pan.baidu.com/s/1Bx6nGFjKsQ3ajbnLPcjsSA
提取碼:gljt

直接解壓,拖拽到這裡就行!!

4. 點選傳送

測試完成!!

七、總結

總的來說搭建還是比較簡單,整合和使用也挺好用!非常推薦哈!!

小編辛辛苦苦寫了半天,看到這裡還不給小編點個關注!!謝謝大家


有緣人才可以看得到的哦!!! 歡迎關注小編的微信公眾號,謝謝大家! ![](https://img2022.cnblogs.com/blog/2471401/202210/2471401-20221008100307074-1316795195.jpg)

點選存取!小編自己的網站,裡面也是有很多好的文章哦!