首页 > 其他分享 >docker搭建yapi接口文档系统、Idea中上传接口、在线调用

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

时间:2023-03-23 16:05:24浏览次数:53  
标签:mongo yapi -- db Idea 接口 ROOT

一、前言

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

二、介绍

1. 平台介绍

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


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 用户密码

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

3. 进入容器初始化数据库

进入 MongoDB 容器,从上图查看 MongoDB 容器可以获取到容器 id,以下示例使用 50f1f6c50139代表 MongoDB 的容器 id,只需要简写即可!

docker exec -it 50 /bin/bash

接着输入:

mongosh

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

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

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

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

四、运行yapi

1. 搭建挂载配置文件

mkdir -p /data/yapi
vim config.json
{
   "port": "3000",
   "adminAccount": "[email protected]",
   "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": "[email protected]",
       "pass": "xxx"
     }
   }
 }

:wq退出

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

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

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

连接成功!!

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

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

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

5. 测试使用

ip:3000http://192.168.84.144:3000/

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


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

6. 新建项目

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

7. 获取token

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

五、Idea中使用

1. 下载插件

插件名称:EasyYapi

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

2. 配置插件

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

3. 测试上传

找到controller

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


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

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

填写token

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


上传成功:

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

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

六、在线请求使用

1. 配置地址

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

2. 配置地址

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

3. 安装cross-request 插件

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

也可以下载小编的:

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

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

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

4. 点击发送

测试完成!!

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

标签:mongo,yapi,--,db,Idea,接口,ROOT
From: https://blog.51cto.com/smallfa/6145606

相关文章

  • ASP.NET Core Web API 接口限流
    一.前言ASP.NETCoreWebAPI接口限流、限制接口并发数量,我也不知道自己写的有没有问题,抛砖引玉、欢迎来喷!二.需求写了一个接口,参数可以传多个人员,也可以传单个人员,时间......
  • python 接口加密
    #-*-coding:utf-8-*-"""@author:Mr_zhang@software:PyCharm@file:encryption.py@time:2023/3/2310:00"""importjsonimporttimeimportbase64from......
  • LevelDb-用户接口
    目录优缺点用户接口基本读写打开关闭数据库读写原子更新同步/异步写并发迭代器快照Slice自定义key比较器性能相关压缩缓存key设计布隆过滤获取范围数据大小近似值优缺点......
  • 电商平台趋势妙手采集类API接口
    电商平台趋势,平台化。大家可以看到大的电商都开始有自己的平台,其实这个道理很清楚,就是因为这是充分利用自己的流量、自己的商品和服务大效益化的一个过程,因为有平台,可以利......
  • idea 中的docker
    idea高度集成化可以自动识别dockerformac/win并且自动连接dockerd默认是路劲/usr/local/docker/usr/local/docker-compose如果是是通过brew安装二进制......
  • IDEA+Apifox生成接口文档以及接口测试
    问题写好代码,想要接口文档以及接口测试准备步骤1.ApifoxHelper插件下载:idea中下载插件file->settings->Plugins->Marktplace中搜索ApifoxHelper2.去官网下载注......
  • 使用Flask完成paddledetection的接口化部署
    由于paddledetection官方没有给出可供自定义更改的推理程序,每次使用都需要输入命令行python***.py于是根据资料,编写自定义的推理程序,并使用py-flask框架实现模型的htt......
  • 在基于vue-next-admin的Vue3+TypeScript前端项目中,为了使用方便全局挂载的对象接口
    在基于vue-next-admin 的Vue3+TypeScript前端项目中,可以整合自己的.NET后端,前端操作一些功能的时候,为了使用方便全局挂载的对象接口,以便能够快速处理一些特殊的操作,如......
  • Ubuntu 下关于 IDEA 或应用程序图标在 Dock 栏下显示异常的问题
    解决逻辑步骤:检查应用程序的桌面文件配置在/usr/share/applications/目录下检查应用程序的桌面文件路径是否正确。如果路径不正确,可以尝试修改桌面文件中的Exec属性......
  • 【接口测试】Postman(二)-Postman Echo
    PostmanEcho​ PostmanEcho为用户提供API调用的示例服务。简而言之,就是官方提供的一个API帮助文档。初学者可以通过它很快的掌握Postman工具。我们下面将一一介绍他们......