簡介
YApi 是高效、易用、功能強大的 api 管理平台,旨在為開發、產品、測試人員提供更優雅的接口管理服務。可以幫助開發者輕松創建、發布、維護 API,YApi 還為用戶提供了優秀的交互體驗,開發人員只需利用平台提供的接口數據寫入工具以及簡單的點擊操作就可以實現接口的管理。
特性
- 基於 Json5 和 Mockjs 定義接口返回數據的結構和文檔,效率提升多倍
- 扁平化權限設計,即保證了大型企業級項目的管理,又保證了易用性
- 類似 postman 的接口調試
- 自動化測試, 支持對 Response 斷言
- MockServer 除支持普通的隨機 mock 外,還增加了 Mock 期望功能,根據設置的請求過濾規則,返回期望數據
- 支持 postman, har, swagger 數據導入
- 免費開源,內網部署,信息再也不怕泄露了
安裝
方法一
# 安裝docker
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 bridge-utils git
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum -y install docker-ce
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
mkdir /etc/docker
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://plqjafsr.mirror.aliyuncs.com"]
}
systemctl start docker && systemctl enable docker
systemctl daemon-reload
git clone https://github.com/Ryan-Miao/docker-yapi.git
cd docker-yapi
docker-compose up
方法二
git clone https://gitee.com/fjc0k/docker-YApi.git
cd docker-YApi/
# 修改 docker-compose.yml 中 yapi-web 下的環境變量 YAPI_ADMIN_ACCOUNT 為你的管理員郵箱,YAPI_ADMIN_PASSWORD 為你的管理員密碼。
[root@yapi docker-YApi]# vim docker-compose.yml
- YAPI_ADMIN_ACCOUNT=18621048481@163.com
- YAPI_ADMIN_PASSWORD=VABNCJEMRRYIQYXD
[root@yapi docker-YApi]# docker-compose up -d
通過環境變量配置(推薦)
通過環境變量配置的選項會覆蓋通過config.json或者config.js配置的選項。
基礎配置
環境變量名稱 | 類型 | 說明 | 示例 |
---|---|---|---|
YAPI_ADMIN_ACCOUNT | string | 管理員賬號(郵箱) | admin@foo.bar |
YAPI_ADMIN_PASSWORD | string | 管理員密碼 | adm1n |
| YAPI_CLOSE_REGISTER | boolean | 是否關閉注冊,由於 docker-YApi 已
內置相關插件
,你可在關閉注冊后在后台手動添加用戶 | true |
| YAPI_NPM_REGISTRY | string | npm 源,目前僅在安裝插件時使用,默認官方源,國內可以設為淘寶源加速 | https://registry.npm.taobao.org |
數據庫配置
環境變量名稱 | 類型 | 說明 | 示例 |
---|---|---|---|
YAPI_DB_SERVERNAME | string | MongoDB 服務地址 | yapi-mongo |
YAPI_DB_PORT | number | MongoDB 服務端口 | 27017 |
YAPI_DB_DATABASE | string | 使用的 MongoDB 數據庫 | yapi |
YAPI_DB_USER | string | 登錄 MongoDB 服務的用戶名 | root |
YAPI_DB_PASS | string | 登錄 MongoDB 服務的用戶密碼 | r00t |
YAPI_DB_AUTH_SOURCE | string | MongoDB 身份認證所用庫 | admin |
YAPI_DB_CONNECT_STRING | string | 使用 MongoDB 集群時配置 | mongodb://127.0.0.100:8418,127.0.0.101:8418/yapidb?slaveOk=true |
| YAPI_DB_OPTIONS | json | Mongoose 連接 MongoDB 服務時的額外選項,一般不用設置。請參考:
Mongoose.prototype.connect() | {} |
郵件配置
環境變量名稱 | 類型 | 說明 | 示例 |
---|---|---|---|
YAPI_MAIL_ENABLE | boolean | 是否啟用 | true |
YAPI_MAIL_HOST | string | 郵件服務地址 | smtp.163.com |
YAPI_MAIL_PORT | number | 郵件服務端口 | 465 |
YAPI_MAIL_FROM | string | 發送人郵箱 | foo@163.com |
YAPI_MAIL_AUTH_USER | string | 登錄郵件服務的用戶名 | bar@163.com |
YAPI_MAIL_AUTH_PASS | string | 登錄郵件服務的用戶密碼 | f00bar |
| YAPI_MAIL_OPTIONS | json | 傳遞給 Nodemailer 的額外選項,一般不用設置。請參考:
Nodemailer > SMTP transport | {"tls":{"rejectUnauthorized":false}} |
LDAP 登錄配置
點擊查看 YApi 倉庫下 LDAP 相關的 issues👉
環境變量名稱 | 類型 | 說明 | 示例 |
---|---|---|---|
YAPI_LDAP_LOGIN_ENABLE | boolean | 是否啟用 | true |
YAPI_LDAP_LOGIN_SERVER | string | LDAP 服務地址 | ldap://ldap.foo.bar |
YAPI_LDAP_LOGIN_BASE_DN | string | 登錄 LDAP 服務的用戶名 | cn=admin,dc=foo,dc=bar |
YAPI_LDAP_LOGIN_BIND_PASSWORD | string | 登錄 LDAP 服務的用戶密碼 | f00bar |
YAPI_LDAP_LOGIN_SEARCH_DN | string | 查詢用戶數據的路徑 | ou=users,dc=foo,dc=bar |
YAPI_LDAP_LOGIN_SEARCH_STANDARD | string | 支持兩種值:1、前端登錄賬號對應的查詢字段,如:mail、uid等;2、自定義查詢條件,其中%s會被前端登錄賬號替換,如:&(objectClass=user)(cn=%s) | - |
YAPI_LDAP_LOGIN_EMAIL_POSTFIX | string | 登錄郵箱后綴 | @163.com |
YAPI_LDAP_LOGIN_EMAIL_KEY | string | LDAP 數據庫存儲用戶郵箱的字段 | |
YAPI_LDAP_LOGIN_USERNAME_KEY | string | LDAP 數據庫存儲用戶名的字段 | name |
插件配置
插件配置
環境變量名稱 | 類型 | 說明 | 示例 |
---|---|---|---|
YAPI_PLUGINS | json | 要使用的插件列表。點擊查看開源 YApi 插件列表 →配置項數據格式:注意:安裝插件會運行 YApi 自帶的打包命令,其內存消耗較大,因此,在安裝插件時,物理機可用內存最好大於等於4GB,否則,易出現內存溢出錯誤,導致插件安裝失敗。 | [{"name":"gitlab","options":{}}] |
項目地址
https://github.com/fjc0k/docker-YApi
使用
使用文檔地址
https://hellosean1025.github.io/yapi/documents/index.html