一、前言

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

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

最新文章

  1. 常用HTTP状态码和CURL 000问题
  2. marquee 标签 文字滚动
  3. 王爽<<汇编语言>> 实验十四
  4. session 丢失和解决方案
  5. Python3 学习第十弹: 模块学习三之数字处理
  6. Android下Fragment的动画切换效果
  7. PostgreSQL的 initdb 源代码分析之二十三
  8. 关于Spring的Controller及Struts的Action的多线程的注意
  9. 【Xamarin挖墙脚系列:Xamarin4.0的重大变更】
  10. smarty模板执行原理
  11. openStack images概念及维护
  12. Apple Swift 中文教程 高速參考 基本的语法
  13. CSS设置input placeholder文本的样式
  14. Elasticsearch 5.0 —— Head插件部署指南(Head目前支持5.0了!请不要看本篇文章了)
  15. 【Codeforces 111C】Petya and Spiders
  16. Android学习之基础知识五—ListView控件(最常用和最难用的控件)
  17. 使用yum时报错 This system is not registered to Red Hat Subscription Management
  18. Maven笔记 #01# 入门
  19. Mysql的row_format(fixed与dynamic)
  20. testng入门教程7 TestNG组测试

热门文章

  1. Menci的序列
  2. 基于CentOS的IB网卡驱动安装
  3. C#通过完整的例子,Get常用的2个套路,理解抽象方法,虚方法,接口,事件
  4. while 循环、do- while 循环 和 for 循环之间的那点事
  5. 急如闪电快如风,彩虹女神跃长空,Go语言高性能Web框架Iris项目实战-初始化项目ep00
  6. Linux操作系统学习(运维必会)
  7. 妙啊!纯 CSS 实现拼图游戏
  8. 基于 .NET 6 的轻量级 Webapi 框架 FastEndpoints
  9. 升级CentOS 7 内核版本
  10. 从零开始Blazor Server(15)--总结