API文檔管理平台


 

一、應用場景

在公司中,有很多開發,每個人維護的api接口是不一樣的。如果有一個統一的api文檔管理平台,每個開發,把自己維護的接口錄入進去。

之后再開發別的功能時,不需要重復造輪子,直接調用就可以了。有新員工入職時,也可以快速上手!

 

關於api文檔管理,網上有很多。有在線收費的,也有開源的。基於節省成本考慮,這里主要介紹2個開源工具:ShowDoc和YApi。

下面會詳細介紹着2個工具的使用方法,都是基於docker安裝的!

 

二、ShowDoc

ShowDoc是一個非常適合IT團隊的在線API文檔、技術文檔工具。你可以使用Showdoc來編寫在線API文檔、技術文檔、數據字典、在線手冊。

官方地址:

https://www.showdoc.cc/

 

基於docker安裝

本文所使用的系統是  ubuntu-16.04.5-server-amd64,先安裝docker

apt-get install -y docker.io
apt-get clean all

 

下載國內鏡像

docker pull registry.docker-cn.com/star7th/showdoc

 

新建存放showdoc數據的目錄

mkdir /showdoc_data
mkdir /showdoc_data/html
chmod 777 -R /showdoc_data

 

啟動showdoc容器。啟動完了后別忘記后面還有轉移數據的步驟。

docker run -d --name showdoc -p 4999:80 -v /showdoc_data/html:/var/www/html/ registry.docker-cn.com/star7th/showdoc

 

轉移數據

docker exec showdoc \cp -fr /showdoc_data/html/ /var/www/

 

設置權限

chmod 777 -R /showdoc_data

 

根據以上命令操作的話,往后showdoc的數據都會存放在 /showdoc_data/html 目錄下。
你可以打開  http://localhost:4999 來訪問showdoc。賬戶密碼是showdoc/123456

 

訪問頁面

http://192.168.91.128:4999

效果如下:

點擊進入首頁

 

點擊右側的登錄,輸入用戶名和密碼

 

 登錄之后,點擊新建項目

 輸入項目名和描述,點擊提交

 

項目就創建好了,點擊項目

 

點擊左側的添加按鈕

 

點擊插入API接口模板,點擊右側的保存

可以看出,左邊就是markdown格式,右邊就是預覽效果

 

保存之后,點擊返回,效果如下:

 

ok,到這里,一個api文檔就完成了。關於showdoc其他操作,請參考鏈接:

https://www.showdoc.cc/help?page_id=65610

 

是不是很Nice!那么問題來了,開發要測試這個接口怎么辦?

打開postman,輸入上面的請求url,選擇POST請求,輸入參數.....

是不是很麻煩?還得讓開發安裝postman,進行一系列操作。

那么有沒有直接在這個網頁上,集成postman功能,可以直接發送POST請求,查看返回結果呢?

有,那就是YApi。

 

 

三、YApi(推薦)

介紹

Yapi 由 YMFE 開源,旨在為開發、產品、測試人員提供更優雅的接口管理服務,可以幫助開發者輕松創建、發布、維護 API。

  • 權限管理
    YApi 成熟的團隊管理扁平化項目權限配置滿足各類企業的需求

  • 可視化接口管理
    基於 websocket 的多人協作接口編輯功能和類 postman 測試工具,讓多人協作成倍提升開發效率

  • Mock Server
    易用的 Mock Server,再也不用擔心 mock 數據的生成了

  • 自動化測試
    完善的接口自動化測試,保證數據的正確性

  • 數據導入
    支持導入 swagger, postman, har 數據格式,方便遷移舊項目

  • 插件機制
    強大的插件機制,滿足各類業務需求

 
官方地址:

使用 Docker 構建 Yapi

1、創建 MongoDB 數據卷

docker volume create mongo_data_yapi

 

2、啟動 MongoDB

docker run -d --name mongo-yapi -v mongo_data_yapi:/data/db mongo

 

3、獲取 Yapi 鏡像

版本信息可在 阿里雲鏡像倉庫 查看

docker pull registry.cn-hangzhou.aliyuncs.com/anoy/yapi

 

4、初始化 Yapi

初始化數據庫索引及管理員賬號

docker run -it --rm \
  --link mongo-yapi:mongo \
  --entrypoint npm \
  --workdir /api/vendors \
  registry.cn-hangzhou.aliyuncs.com/anoy/yapi \
  run install-server

 

自定義配置文件掛載到目錄 /api/config.json,官方自定義配置文件 -> 傳送門

 

5、啟動 Yapi 服務

docker run -d \
  --name yapi \
  --link mongo-yapi:mongo \
  --workdir /api/vendors \
  -p 3000:3000 \
  registry.cn-hangzhou.aliyuncs.com/anoy/yapi \
  server/app.js

 

使用 Yapi

訪問 http://localhost:3000 登錄賬號 admin@admin.com,密碼 ymfe.org

點擊登錄

 

輸入用戶名和密碼

 

 點擊添加項目

 

創建項目

 

 點擊添加接口

 

 

輸入接口名稱和接口路徑

接口就創建好了,點擊編輯,添加參數

 

添加2個參數

 

設置返回數據,點擊導入json

 

 輸入json

 

 勾選,表示必須返回。輸入備注

 

點擊下面的保存,點擊預覽,效果如下:

 

 

 點擊運行,需要安裝插件

對於最新版的谷歌瀏覽器,比如版本為70.0.3538.67,它是不允許本地安裝的,只能在谷歌商店安裝!

點擊google商店獲取,跳轉頁面

 

點擊右側的添加,點擊添加擴展程序

 

添加完成之后,再次刷新頁面,點擊運行,效果如下:

 

這上面,就可以輸入一些值了。在下面的Response,就會返回結果

 

如果要測試的地址和當前url不匹配,可以手動設置

點擊環境設置

 

輸入測試服務器的ip和端口號

 發送POST請求,輸入參數

 

返回正確時,效果如下:

 

最后將狀態,選擇為已完成

 

刷新頁面,查看預覽,效果如下:

 

Chrome瀏覽器離線安裝插件

在這個頁面中,點擊手動下載

 

 

它會下載一個crossRequest.zip文件,將這個文件解壓,會得到一個2.8_0.crx

 

將2.8_0.crx的后綴crx改成rar

 

將這個文件解壓

 

打開 Chrome瀏覽器,點擊更多工具-->擴展程序

 

默認的開發者模式是關閉的

 

將它開啟,會出現一個加載已解壓的擴展程序

 點擊它,選擇剛剛解壓的文件夾

 

擴展程序就安裝好了!

 

 

基於DRF的測試接口

假設沒有測試接口,可以使用Python的rest framework模塊來模擬一個登陸接口。

確保已經安裝了以下2個模塊

pip3 install Django
pip3 install djangorestframework

 

新建項目untitled

 

修改settings.py,注冊djangorestframework,最后一行添加

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app.apps.AppConfig',
    'rest_framework',
]

 

繼續修改settings.py,允許監聽所有Ip

ALLOWED_HOSTS = ['*']

 

修改views.py,增加視圖函數

from django.shortcuts import render
from rest_framework.views import APIView

from rest_framework.response import Response

class LoginView(APIView):
    def post(self, request, *args, **kwargs):
        data = {"code": "200", "data": "ok", "error": ""}
        return Response(data)

 

修改urls.py,增加路由

from django.contrib import admin
from django.urls import path,re_path
from app01 import views

urlpatterns = [
    path('admin/', admin.site.urls),
    re_path(r'^(?P<version>[v1|v2]+)/login', views.LoginView.as_view(), name='login'),
]

 

修改啟動參數

 

監聽0.0.0.0

 

啟動Django,使用postman測試接口

 

 

本文參考鏈接:

https://www.jianshu.com/p/a97d2efb23c5 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM