什么是YApi
YApi 是一个可视化的接口管理平台,广泛用于前端和后端团队之间的协作。它提供了一整套功能来帮助团队管理、设计、测试和分享 API 文档。以下是 YApi 的主要功能和特点:
- 接口文档管理:通过可视化界面,团队可以方便地创建和维护 API 文档,保证文档与代码的一致性。
- 接口调试:提供内置的调试工具,方便开发者直接在平台上测试 API,查看请求和响应数据。
- Mock 数据:支持生成 Mock 数据,可以在开发阶段模拟接口返回的数据,方便前端开发和测试。
- 权限管理:可以为不同的用户和团队设置不同的权限,保证数据的安全性和管理的便捷性。
- 自动化测试:提供接口自动化测试功能,帮助团队在发布前发现和解决问题。
- 多项目支持:支持管理多个项目,适合大型团队和复杂项目的需求。
如何安装YApi
YApi的项目地址:YApi
使用Docker部署YApi
开源项目(官方文档):docker-yapi
本文默认已经安装好docker和docker-compose
1.初始化db,开启自定义配置
git clone https://github.com/Ryan-Miao/docker-yapi.git
cd docker-yapi
docker-compose up
如果出现yapi的报错,
利用命令查看:
docker logs yapi的Image ID
如果出现如下的报错信息:
internal/modules/cjs/loader.js:818
throw err;
^
Error: Cannot find module '/my-yapi/vendors/server/app.js'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)
at Function.Module._load (internal/modules/cjs/loader.js:667:27)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
at internal/main/run_main_module.js:17:47 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}
则需要修改docker-compose.yml
文件,利用命令:
vim docker-compose.yml
将该文件修改为
# Use root/example as user/password credentials
version: '3.1'
services:
mongo:
image: mongo:4
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example
MONGO_INITDB_DATABASE: yapi
volumes:
- ./mongo-conf:/docker-entrypoint-initdb.d
- ./mongo/etc:/etc/mongo
- ./mongo/data/db:/data/db
ports:
- 27017:27017
healthcheck:
test: ["CMD", "netstat -anp | grep 27017"]
interval: 2m
timeout: 10s
retries: 3
yapi:
build:
context: ./
dockerfile: Dockerfile
image: yapi
################主要修改这里
# 第一次启动使用
command: "yapi server"
# 之后使用下面的命令
# command: "node /my-yapi/vendors/server/app.js"
volumes:
- ./my-yapi:/my-yapi
ports:
- 9090:9090
- 3000:3000
depends_on:
- mongo
保存该文件后,利用命令删除yapi镜像:
docker rm yapi的Image ID
再次运行命令:
docker-compose up
等待片刻后终端会出现这样的信息:
yapi_1 | 在浏览器打开 http://0.0.0.0:9090 访问。非本地服务器,请将 0.0.0.0 替换成指定的域名或ip
2. 打开 localhost:9090
- 修改管理员邮箱
ryan.miao@demo.com
(随意, 修改为自己的邮箱) - 修改数据库地址为
mongo
或者修改为自己的mongo实例 (docker-compose配置的mongo服务名称叫mongo) - 打开数据库认证
- 输入数据库用户名:
yapi
(mongo配置的用户名, 见mongo-conf/init-mongo.js) - 输入密码:
yapi123456
(mongo配置的密码, 见mongo-conf/init-mongo.js)
点击开始部署
点击部署会出现报错,报错信息如下:
当前安装版本: 1.12.0
连接数据库成功!
开始下载平台文件压缩包...
http://registry.npm.taobao.org/yapi-vendor/download/yapi-vendor-1.12.0.tgz
部署文件完成,正在安装依赖库...
npm ERR! code CERT_HAS_EXPIRED npm ERR!
errno CERT_HAS_EXPIRED
npm ERR! request to https://registry.npm.taobao.org/ajv failed, reason: certificate has expired
npm
ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2024-03-05T18_22_18_520Z-debug.log
依赖库安装完成,正在初始化数据库mongodb...
这时我们需要设置npm执行忽略证书,进入yapi镜像:
docker exec -it <yapi-CONTAINER-ID> sh
输入命令:
npm config set strict-ssl false
再次点击部署,出现下图所示,部署完成。
3. 部署完毕后, 修改docker-compose.yml 启用
利用命令vim docker-compose.yml
进行修改:
yapi:
build:
context: ./
dockerfile: Dockerfile
image: yapi
# 第一次启动使用
# command: "yapi server"
# 之后使用下面的命令
command: "node /my-yapi/vendors/server/app.js"
4. 重启服务:
docker-compose up
访问 localhost:3000
- 输入用户名admin@admin.com(自己输入的管理员邮箱)
- 输入密码ymfe.org(默认的初始化密码, 之后可以修改)
此时已经完成了YApi的安装,后续就可以使用YApi作为接口管理平台。