一、前言在我们后端开发中 , 必不可少的是接口的交接 , 有很多种方式 , 常见的就是swagger
, 不过这个侵入性太强了 。还有就是接口文档的框架 , 比如今天小编带大家一起搭建的yapi
, 在公司还是挺常见的!今天小编就大家从搭建到使用 , 详细的教学一波哈!!
二、介绍1. 平台介绍
文章插图
YApi 是
高效、易用、功能强大的 api 管理平台
, 旨在为开发、产品、测试人员提供更优雅的接口管理服务 。可以帮助开发者轻松创建、发布、维护 API , YApi 还为用户提供了优秀的交互体验 , 开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理 。2. 特性
- 基于 Json5 和 Mockjs 定义接口返回数据的结构和文档 , 效率提升多倍
- 扁平化权限设计 , 即保证了大型企业级项目的管理 , 又保证了易用性
- 类似 postman 的接口调试
- 自动化测试, 支持对 Response 断言
- MockServer 除支持普通的随机 mock 外 , 还增加了 Mock 期望功能 , 根据设置的请求过滤规则 , 返回- - 期望数据
- 支持 postman, har, swagger 数据导入
- 免费开源 , 内网部署 , 信息再也不怕泄露了
- nodejs(7.6+)
- mongodb(2.6+)
- git
mongo
, 用来数据的存储即可!三、运行mongo0. 创建网络
docker network create yapi
1. 创建挂载文件mkdir -p /data/mongo
2. 运行mongodocker run -d \--name mongodb \--restart always \--net=yapi \-p 27017:27017 \-v /data/mongo:/data/db \-e MONGO_INITDB_DATABASE=yapi \-e MONGO_INITDB_ROOT_USERNAME=yapi \-e MONGO_INITDB_ROOT_PASSWORD=yapi \mongo
启动 MongoDB , 其中 -e 指定 MONGO_INITDB_ROOT_USERNAME 为 MongoDB 的 ROOT 用户名 , MONGO_INITDB_ROOT_PASSWORD 为 MongoDB 的 ROOT 用户密码
文章插图
3. 进入容器初始化数据库进入 MongoDB 容器 , 从上图查看 MongoDB 容器可以获取到容器 id , 以下示例使用
50f1f6c50139
代表 MongoDB 的容器 id , 只需要简写即可!docker exec -it 50 /bin/bash
接着输入:mongosh
新版本需要加上sh , 不然无法进入!文章插图
use admin;db.auth("yapi", "yapi");# 创建 yapi 数据库use yapi;# 创建给 yapi 使用的账号和密码 , 限制权限db.createUser({user: 'yapi',pwd: 'yapi',roles: [ { role: "dbAdmin", db: "yapi" }, { role: "readWrite", db: "yapi" }]});# 退出 Mongo Cliexit# 退出容器Ctrl+P+Q
文章插图
四、运行yapi1. 搭建挂载配置文件
mkdir -p /data/yapi
vim config.json
{"port": "3000","adminAccount": "wangzhenjun1221@163.com","timeout":120000,"db": {"servername": "mongo","DATABASE": "yapi","port": 27017,"user": "yapi","pass": "yapi","authSource": ""},"mail": {"enable": true,"host": "smtp.gmail.com","port": 465,"from": "*","auth": {"user": "wangzhenjun1221@163.com","pass": "xxx"}} }
:wq
退出文章插图
2. 初始化数据库表
经验总结扩展阅读
- Docker | 镜像浅析,以及制作自己的镜像
- VScode开发STM32/GD32单片机-环境搭建
- docker搭建个人云盘可道云kodbox
- HBase1.4.6安装搭建及shell命令使用
- 18-基于CentOS7搭建RabbitMQ3.10.7集群镜像队列+HaProxy+Keepalived高可用架构
- frp服务利用云主机docker服务实现Windows远程连接
- 企业运维 | MySQL关系型数据库在Docker与Kubernetes容器环境中快速搭建部署主从实践
- mac通过docker一键部署Jenkins
- 【前端必会】使用indexedDB,降低环境搭建成本
- Docker MySql 查看版本的三种方法