API可視化管理平台YApi

Yapi是什麼

YApi 是高效、易用、功能強大的 api 管理平台,旨在為開發、產品、測試人員提供更優雅的接口管理服務。可以幫助開發者輕鬆創建、發佈、維護 API,YApi 還為用戶提供了優秀的交互體驗,開發人員只需利用平台提供的接口數據寫入工具以及簡單的點擊操作就可以實現接口的管理。

我主要使用方式如下:

  • 項目集成swagger, 接口添加api註解
  • 導出api-docs.json
  • YApi導入api-docs.json

那麼,既然swagger有了為啥還要多做一步導入YApi呢。因為YApi有更友好的查看管理,結合測試,可以有效表現api定義和示例。

另外,有的項目無法對外提供swagger接口,受環境限制。swagger也不適合多個項目的api管理。

後端定義好api結構,然後導入YApi, 在測試里輸入樣例參數,直接丟給前端即可完全實現前後端分離,有效提高api對接聯調速度。

Yapi安裝

官方地址: //github.com/YMFE/yapi/

也可以通過docker安裝 //github.com/Ryan-Miao/docker-yapi

關於插件:加入一些登錄插件,比如cas,需要編譯client, 執行

npm install && npm run build-client

這時候, 官方源碼會報錯,主要是babel插件和eslink錯誤。見 //github.com/YMFE/yapi/pull/1937

賬號管理和權限

可以配置郵箱註冊後綴,只允許公司內部用戶郵箱註冊。 也可以接入sso插件,接入公司的LDAP或者SSO,CAS等, 統一管理用戶。

與Swagger集成

與swagger集成有兩種方式, 一種是手動導入api-docs.json, 這種方式適用於yapi和api服務網絡不通,只能手動維護的情況。

另一個就是在線自動同步,只要填入swagger的地址就可以了。

我們導入swagger官方示例: //petstore.swagger.io/v2/swagger.json

查看接口定義

根據swagger定義的參數和返回值對象,yapi對應都有解析到。

執行接口

點擊運行, 和swagger postman一樣,可以直接執行接口。

這裡有個問題,前後端分離後,接口鑒權通常是通過header傳遞token實現的。官方默認實現沒有提供自定義header的功能。還有yapi架構設計很好,開源,有很多插件可以參考。

比如: //github.com/shouldnotappearcalm/yapi-plugin-interface-oauth2-token

具體用法見: //blog.csdn.net/shouldnotappearcalm/article/details/104726505

保存執行結果

剛才運行的接口點擊保存,我們的參數就保存下來了。後面直接告訴前端同學地址,他可以通過測試用例來調用api。

測試用例

yapi相比swagger另一個比較好的功能就是測試和mock。先不說mock,就說測試api,後端開發好api後, 還要告訴前端怎麼調用。有時候, 數據庫的數據有限,還要告訴前端哪些參數可用,可以跳通。這些可以通過yapi運行接口後保存為測試實例來完成。

Tags: