首頁>技術>

YApi 簡介

YApi 是去哪兒網開源的一個高效、易用、功能強大的 API 管理平臺,它擁有介面管理,介面除錯,介面測試,Mock 等等一系列特性,並且支援匯入和自動同步`swagger`文件,可以直接將現有的所有專案`swagger`文件無縫遷移到 YApi 上統一管理,真的是不講武德!

官方已經部署了一套公有服務進行演示,直接訪問https://yapi.baidu.com即可快速體驗。

部署

這裡介紹兩種部署方式,一種是基於docker一鍵部署,還有一種是基於命令列手動部署,當然我強烈建議使用docker進行部署,否則容易碰到一些環境相關的問題。

基於 docker 部署1.建立網橋

建立一個網橋讓 yapi 容器能訪問到 mongoDB 容器,命令如下:

docker network create yapi
2.部署 mongoDB

基於 docker 部署非常簡單,只需要一行命令就搞定,如下:

docker run -d --name=mongo \  --network=yapi \  -e MONGO_INITDB_ROOT_USERNAME=root \  -e MONGO_INITDB_ROOT_PASSWORD=123456 \  mongo:3.6.21-xenial

這裡關鍵的點就是透過MONGO_INITDB_ROOT_USERNAME和MONGO_INITDB_ROOT_PASSWORD環境變數來設定資料庫訪問的賬號密碼,在下面部署 yapi 時要用到。

3.部署 yapi

透過上一步部署的 mongoDB 賬號密碼進行部署,如下:

docker run -d --name yapi \  --network=yapi \  -e DB_SERVERNAME=mongo \  -e DB_DATABASE=admin \  -e DB_PORT=27017 \  -e DB_USER=root \  -e DB_PASS=123456 \  -p 3000:3000 \  liwei2633/yapi

部署成功的話透過瀏覽器訪問http://127.0.0.1:3000應該就可以看到以下介面:

然後使用預設管理員賬號密碼:[email protected]+ymfe.org登入就能使用了。

這裡的映象是我自己構建上傳的映象,詳細可以參考:basic/README.md。 然後還提供了一個支援gitlab登入的映象,如果有需要的可以參考:gitlab/README.md

基於命令列部署

上面介紹了基於 docker 的方式安裝,現在介紹下基於命令列的方式進行安裝。

1.安裝 mongoDB

透過 mongoDB 官網的教程,根據自己的作業系統進行安裝即可,地址:https://docs.mongodb.com/v3.6/administration/install-community

由於 mongoDB 預設是無需身份驗證的,不太安全,所以要建立一個使用者用於訪問資料庫,命令如下:

use admindb.createUser(  {    user: "root",    pwd: "123456",    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]  })

這樣建立好了一個使用者,賬號密碼為:root+123456

2.安裝 node.js 環境

注意不要安裝太高版本的 node,否則可能會導致部分依賴下載失敗,我測試 node10 版本是沒問題的,直接去官網https://nodejs.org/dist/latest-v10.x,下載對應的 node 版本安裝即可。

安裝好之後執行以下命令來驗證是否正確安裝:

node -v

正常的話會輸出v10.x.x對應版本號,接著就可以開始安裝 yapi 了。

3.安裝 yapi

選好一個安裝目錄,在目錄下開啟終端執行命令:

npm install -g yapi-cli --registry https://registry.npm.taobao.orgyapi server

執行成功之後終端會提示訪問地址,透過瀏覽器訪問http://127.0.0.1:9090進行安裝,如圖:

再根據安裝提示在終端中啟動 yapi 服務:

cd <部署路徑>node vendors/server/app.js

啟動成功後就可以訪問了。

後記

YApi 使用在我們團隊使用了一段時間,體驗還是非常不錯的,但是很可惜的是這個專案目前基本屬於無人維護的狀態,最近的一次commit還是在2020年10月,如果碰到坑的話就不要指望官方來修復了,只能靠自己,前幾天給官方提了個PR到現在也還沒回復,希望官方能把專案再運營起來吧~

9
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 把JSON/CSV檔案打造成MySQL資料庫