docker搭建yapi接口文档系统、Idea中上传接口、在线调用

2022-10-05 15:41:53 浏览数 (1)

一、前言

在我们后端开发中,必不可少的是接口的交接,有很多种方式,常见的就是swagger,不过这个侵入性太强了。还有就是接口文档的框架,比如今天小编带大家一起搭建的yapi,在公司还是挺常见的! 今天小编就大家从搭建到使用,详细的教学一波哈!!

二、介绍

1. 平台介绍

YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。

2. 特性

  • 基于 Json5 和 Mockjs 定义接口返回数据的结构和文档,效率提升多倍
  • 扁平化权限设计,即保证了大型企业级项目的管理,又保证了易用性
  • 类似 postman 的接口调试
  • 自动化测试, 支持对 Response 断言
  • MockServer 除支持普通的随机 mock 外,还增加了 Mock 期望功能,根据设置的请求过滤规则,返回- - 期望数据
  • 支持 postman, har, swagger 数据导入
  • 免费开源,内网部署,信息再也不怕泄露了

3. 环境支持

  • nodejs(7.6 )
  • mongodb(2.6 )
  • git

在docker中只需要搭建一下mongo,用来数据的存储即可!

三、运行mongo

0. 创建网络

代码语言:javascript复制
docker network create yapi

1. 创建挂载文件

代码语言:javascript复制
mkdir -p /data/mongo

2. 运行mongo

代码语言:javascript复制
docker 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,只需要简写即可!

代码语言:javascript复制
docker exec -it 50 /bin/bash

接着输入:

代码语言:javascript复制
mongosh

==新版本需要加上sh,不然无法进入!==

代码语言:javascript复制
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 Cli
exit
# 退出容器
Ctrl P Q

四、运行yapi

1. 搭建挂载配置文件

代码语言:javascript复制
mkdir -p /data/yapi
代码语言:javascript复制
vim config.json
代码语言:javascript复制
{
   "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. 初始化数据库表

代码语言:javascript复制
docker run -d --rm 
  --name yapi-init 
  --link mongodb:mongo 
  --net=yapi 
  -v /data/yapi/config.json:/yapi/config.json 
   yapipro/yapi 
  server/install.js

3. 测试连接mongo

我们使用Navicat进行可视化的连接 数据库输入:admin 用户名密码都是刚刚配置的:yapi

连接成功!!

4. 运行yapi

代码语言:javascript复制
docker run -d 
   --name yapi 
   --link mongodb:mongo 
   --restart always 
   --net=yapi 
   -p 3000:3000 
   -v /data/yapi/config.json:/yapi/config.json 
   yapipro/yapi 
   server/app.js

5. 测试使用

ip:3000 http://192.168.84.144:3000/

初始化管理员账号在上面的 config.json 配置中adminAccount 初始化密码就是:yapi.pro

6. 新建项目

7. 获取token

五、Idea中使用

1. 下载插件

插件名称:EasyYapi

2. 配置插件

3. 测试上传

找到controller

选择你要上传的接口,点击对号上传!

填写token

上传成功:

六、在线请求使用

1. 配置地址

2. 配置地址

3. 安装cross-request 插件

发送请求时,会提醒你安装,你按照提示安装下载即可!

也可以下载小编的:

链接:https://pan.baidu.com/s/1Bx6nGFjKsQ3ajbnLPcjsSA 提取码:gljt

直接解压,拖拽到这里就行!!

4. 点击发送

测试完成!!

七、总结

总的来说搭建还是比较简单,集成和使用也挺好用!非常推荐哈!!

小编辛辛苦苦写了半天,看到这里还不给小编点个关注!!谢谢大家


Q.E.D.

0 人点赞