我们团队的项目最初前后端是同一个开发人员在做,因此并不存在提供详细接口文档等问题。随着项目的不断迭代,团队规模逐渐扩大,我们决定将前后端分开,专门由专业的前端和后端人员进行开发工作。然而,这样的改变也带来了一个新问题:后端需要在需求确定后向前端提供详细的接口文档,而后端开发完成后也需要进行相应的测试。
在选择API管理平台时,我们的首要标准是能够进行私有化部署,以保障数据的安全性。在经过一番比较后,我们最终选择了YAPI。今天,我将向大家介绍YAPI的相关内容,并分享如何通过Docker Compose进行部署。
YAPI简介
YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。
特性
- 基于 Json5 和 Mockjs 定义接口返回数据的结构和文档,效率提升多倍
- 扁平化权限设计,即保证了大型企业级项目的管理,又保证了易用性
- 类似 postman 的接口调试
- 自动化测试, 支持对 Response 断言
- MockServer 除支持普通的随机 mock 外,还增加了 Mock 期望功能,根据设置的请求过滤规则,返回期望数据
- 支持 postman, har, swagger 数据导入
- 免费开源,内网部署,信息再也不怕泄露了
Docker compose 部署
第一步:部署MongoDB数据库
yapi部署依赖MongoDB的数据库,我习惯将数据库单独部署出来,如果家人们没有部署MongoDB数据库的话可以参考我们之前的文章MongoDB 解析:灵活文档数据库与 Docker Compose 部署
进行部署。
使用navicat连接数据库,使用以下命令创建数据库:
# 先use命令切换至yapi数据库。如果该库不存在,那么则会创建该数据库。
use yapi;# 创建用户,分配权限
db.createUser({user:'yapi',pwd:'xj2023',roles:[{role:'readWrite',db:'yapi'}]})
第二步:构建镜像
创建Dockerfile文件
FROM node:12-alpineCOPY repositories /etc/apk/repositoriesRUN npm install -g yapi-cli --registry https://registry.npm.taobao.orgEXPOSE 3000 9090
在Dockerfile同级目录下创建repositories文件
https://mirrors.aliyun.com/alpine/v3.6/main/https://mirrors.aliyun.com/alpine/v3.6/community/
在Dockerfile同级目录下使用如下命令构建镜像
docker build -t xj/yapi:2.0 .
如此我们的镜像就打成功了
第三步:启动服务
创建docker-compose.yml文件
version: '3.7'
services:yapi:container_name: yapiimage: xj/yapi:2.0command: "yapi server" #第一次启动使用# command: "node /yapi/vendors/server/app.js" #后面启动使用ports:- "9090:9090"- "3000:3000"restart: alwaysvolumes:- ./data:/yapi
在docker-compose.yml同级目录下使用如下命令启动容器
docker-compose up -d
启动之后在浏览器中访问:http://192.168.10.105:9090/
填写邮箱及数据库信息
填写好之后点击开始部署
出现如下日志,则说明部署成功了
此时,我们需要先使用如下命令停止容器
docker-compose down
然后修改docker-compose.yml 文件,注释掉带有第一次启动使用
注释的哪行,放开带有后面启动使用
的哪行
vim docker-compose.yml
保存文件后在docker-compose.yml的同级目录下使用如下命令启动容器
docker-compose up -d
到此,如果不出意味的话我们的服务就完全部署完成了,访问 就可以看到如下页面了
YAPI使用
使用管理员账号密码登录,账号密码在第一次部署完成的时候会在日志中打印,密码初始为ymfe.org
登录之后可以看到有用户、系统等管理,可以创建项目,创建、发布、维护 API等功能,我们此处不在详细描述
我们如果想请求接口的时候和浏览器开发者工具(f12)中一样查看请求、相应等信息的话可以在谷歌浏览器中安转扩转程序cross-request
,点击背景夜查看
总结
YAPI是一个功能强大的接口管理平台,通过其灵活的定制能力和完善的团队协作功能,能够极大地提高团队的工作效率和接口管理的便捷性。通过Docker Compose的部署方式,您可以快速搭建YAPI并开始使用。如果您有任何疑问或需要更多指导,请随时与我们联系。