更優(yōu)雅的接口文檔編寫方式 — YApi

背景

系統(tǒng)開發(fā)過程中,必然少不了文檔,而在互聯(lián)網(wǎng)應(yīng)用系統(tǒng)開發(fā)中,API接口文檔則更是必不可少。

YApi

平臺介紹

YApi 是高效、易用、功能強(qiáng)大的 api 管理平臺,旨在為開發(fā)、產(chǎn)品、測試人員提供更優(yōu)雅的接口管理服務(wù)??梢詭椭_發(fā)者輕松創(chuàng)建、發(fā)布、維護(hù) API,YApi 還為用戶提供了優(yōu)秀的交互體驗,開發(fā)人員只需利用平臺提供的接口數(shù)據(jù)寫入工具以及簡單的點擊操作就可以實現(xiàn)接口的管理。

總之,很厲害,官網(wǎng)地址 http://yapi.demo.qunar.com/


本地部署

官方文檔環(huán)境要求:

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

官方文檔安裝方式

  • 方式一. 可視化部署[官方推薦]
  • 方式二. 命令行部署

實機(jī)安裝:

  • 操作系統(tǒng):CentOS 8.1
  • nodejs:v12.16.1
  • mongodb:v4.0.10
  1. 根據(jù)官網(wǎng)提示,使用命令行安裝,執(zhí)行命令
cd /home
mkdir yapi
cd yapi
wget http://registry.npm.taobao.org/yapi-vendor/download/yapi-vendor-1.8.8.tgz
tar zxvf yapi-vendor-1.8.8.tgz
cp package/config_example.json ./config.json //復(fù)制完成后請修改相關(guān)配置
cd package
npm install --production --registry https://registry.npm.taobao.org
npm run install-server //安裝程序會初始化數(shù)據(jù)庫索引和管理員賬號,管理員賬號名可在 config.json 配置
pm2 start server/app.js --name "YApi" //啟動服務(wù)器

  1. 打開ip+config.json里配置的端口號就能夠正常訪問了。
訪問效果
  1. 配置郵箱

打開項目目錄 config.json 文件,新增 mail 配置, 替換默認(rèn)的郵箱配置

{
  "port": "*****",
  "adminAccount": "********",
  "db": {...},
  "mail": {
    "enable": true,
    "host": "smtp.163.com",    //郵箱服務(wù)器
    "port": 465,               //端口
    "from": "***@163.com",     //發(fā)送人郵箱
    "auth": {
        "user": "***@163.com", //郵箱服務(wù)器賬號
        "pass": "*****"        //郵箱服務(wù)器密碼
    }
  }
}

如何申請STMP服務(wù)器賬號和密碼可以參考下面的教程:如何開通電子郵箱的SMTP功能

  1. 禁止注冊

在 config.json 添加 closeRegister:true 配置項,就可以禁止用戶注冊 yapi 平臺,修改完成后,請重啟 yapi 服務(wù)器。
這個地方禁用的時候要注意,管理員是沒法添加用戶的,只能等成員們都注冊完了,再進(jìn)行關(guān)閉注冊功能。

{
  "closeRegister":true
}
  1. 版本通知

(v1.3.19+ 增加)在 config.json 添加 "versionNotify": true 配置項,就可以開啟版本通知功能,默認(rèn)為 false,修改完成后,請重啟 yapi 服務(wù)器。

{
  "versionNotify": true
}

最終,config.json文件內(nèi)容如下圖


config.json

最后重啟服務(wù)

pm2 restart YApi

注意:

部署的時候,有幾個地方需要注意:
如果使用可視化部署:
a. 在 yapi-cli 安裝目錄下 /src/commands/server.js 里,有一句應(yīng)該是官方統(tǒng)計代碼,如果不想被官方統(tǒng)計到,可以進(jìn)行注釋(但不推薦,開源不易,需要共同支持 ??)



b. 我這邊安裝時報了數(shù)據(jù)庫連接錯誤,導(dǎo)致放棄了可視化安裝選用了命令行部署,分析應(yīng)該是mongodb的版本問題,如果實際安裝的時候沒報錯,可以忽略


錯誤信息
升級:

升級項目版本是非常容易的,并且不會影響已有的項目數(shù)據(jù),只會同步 vendors 目錄下的源碼文件。

cd {項目目錄}
yapi ls //查看版本號列表
yapi update //升級到最新版本
yapi update -v v1.1.0 //升級到指定版本


使用

大體步驟:

  1. 新增項目
  2. 新增分組
  3. 新增接口,編輯詳情
  4. 接口測試(測試需要安裝Chrome插件)[谷歌請求插件詳細(xì)安裝教程]

使用步驟總體來說還是很簡單的

新增接口

編輯詳情

添加測試

導(dǎo)入Swagger及與Swagger同步

這兩個功能還未進(jìn)行測試


導(dǎo)出文檔

可以選擇多種輸出格式,還是很方便的

但是,發(fā)現(xiàn)不能夠?qū)С龀蓋ord文檔。一般留底或者交付客戶的時候會需要word文檔,可是YApi不能導(dǎo)出成word,就在網(wǎng)上找尋了一下有沒有格式轉(zhuǎn)換的工具。發(fā)現(xiàn)一個叫pandoc的工具功能好像無比強(qiáng)大。于是乎安裝嘗試了一下,通過YApi生成.html文件,然后通過pandoc轉(zhuǎn)換成.docx文件。

導(dǎo)出的html

轉(zhuǎn)換:

pandoc -s api.html -o api.docx
轉(zhuǎn)換后的docx

看起來效果還不錯,這里建議用導(dǎo)出的html文件轉(zhuǎn)docx文件效果會更好一些。


總結(jié)

項目開發(fā)中,可以使用YApi編寫文檔、定義接口,并且在開發(fā)過程中直接進(jìn)行測試、生成測試報告等。項目交付時,可以將接口導(dǎo)出成文件的形式進(jìn)行留底和交付。

部分內(nèi)容轉(zhuǎn)自 https://github.com/YMFE/yapi

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容