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

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

时间:2023-02-08 11:35:53浏览次数:75  
标签:mongo yapi -- db Idea 接口 docker

一、前言

在我们后端开发中,必不可少的是接口的交接,有很多种方式,常见的就是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": "[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退出

在这里插入图片描述

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

测试完成!!

在这里插入图片描述

 

标签:mongo,yapi,--,db,Idea,接口,docker
From: https://www.cnblogs.com/smallfa/p/17101112.html

相关文章

  • net swagger只显示接口注释,不显示实体注释
    原因是你将实体类放到不同的项目中了,如果不指定位置,swagger无法加载注释。在下面这段代码中,xmlFilename指向api的xml,xmlModels指向实体类的xml,这里注意:实体类也要输出xm......
  • 2023-02-08 Unrecognized Android Studio (or Android Support plugin for IntelliJ I
    问题描述:Androidstudio初始化android项目,报错:UnrecognizedAndroidStudio(orAndroidSupportpluginforIntelliJIDEA)version'202.7660.26.42.7486908',please......
  • springsecurity 基于注解的方式实现不拦截某个接口
    添加忽略拦截注解@Target({ElementType.TYPE,ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic@interfaceAuthIgnore{}/***在放......
  • idea频繁闪退
    百度到的常用手段试过了对我来说都没用。最后我选择卸载干净idea,重新安装。附上我的报错信息:日志路径:C:\Users\Administrator\java_error.log如何卸载干净idea:https:......
  • SpringBoot动态生成接口
    原文链接:https://blog.csdn.net/lmchhh/article/details/128634606文章目录SpringBoot动态生成接口一,简单例子二,各种请求方法以及条件2.1无参GET方法2.2带1参的......
  • 690 IDEA与tomcat相关配置
    IDEA与tomcat相关配置1.IDEA会为每一个tomcat部署的项目单独创建一份配置文件查看控制台的log:UsingCATALINA_BASE:C:\Users\86198\AppData\Local\JetBrains\Int......
  • odoo接口
     @http.route('/zimo_lunch/select/<string:db_name>',type='http',auth='none')deftrash_demo(self,db_name=None):print('db_name',db_name)db=reques......
  • IDEA新手使用教程【详解】
    IDEA是一款功能强悍、非常好用的Java开发工具,近几年编程开发人员对IDEA情有独钟。IntellijIdea使用技巧总结1.如何设置通过鼠标滑轮改变编辑器字体大小2.如何设置自......
  • IntelliJ IDEA 的 Code Coverage 测试
    IntelliJIDEA是可以帮我们进行CodeCoverage测试的。公司方面因为有新的要求,必须要达到多少的代码覆盖率,同时他们设置了POM中JCoCo的配置,如果达不到就不让编译通......
  • 解决INTELLIJ IDEA配置MAVEN速度缓慢的问题
    解决方法:采用阿里云提供的镜像地址加快下载速度。详细操作步骤:一、下载并配置APACHE-MAVEN1.访问Apache-Maven官方网站,选择apache-maven-x.x.x-bin.zip下载2.将压缩包解......