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


    一、前言

    在我们后端开发中,必不可少的是接口的交接,有很多种方式,常见的就是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. 创建网络

    docker network create yapi
    

    1. 创建挂载文件

    mkdir -p /data/mongo
    

    2. 运行mongo

    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,只需要简写即可!

    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 Cli
    exit
    # 退出容器
    Ctrl+P+Q
    

    在这里插入图片描述

    四、运行yapi

    1. 搭建挂载配置文件

    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 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

    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. 点击发送

    测试完成!!

    在这里插入图片描述

    七、总结

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

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


    有缘人才可以看得到的哦!!! 欢迎关注小编的微信公众号,谢谢大家! ![](https://img2022.cnblogs.com/blog/2471401/202210/2471401-20221008100307074-1316795195.jpg)

    点击访问!小编自己的网站,里面也是有很多好的文章哦!

  • 相关阅读:
    BurpSuite靶场系列之OS命令注入
    AVL树的插入详解
    要不是家里穷,我也不想当码农
    2. Python 判断语句、循环语句、函数
    pytest的内置插件盘点9. debugging
    22. containerd使用Devmapper snapshotter讲解
    Docker export导出容器,重新运行导出的容器
    uCOSIII实时操作系统 五 任务API(时间片轮转API调度)
    uni-app —— 小程序登录功能的相关实现
    Webpack报错Error: error:0308010C:digital envelope routines::unsupported处理
  • 原文地址:https://www.cnblogs.com/wang1221/p/16768110.html