您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

试试YApi进行接口文档管理

时间:2023-08-09 14:09:50  来源:小王博客基地  作者:

一、前言

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

1、创建网络

docker.NETwork create yapi
  • 1.

2、创建挂载文件

mkdir -p /data/mongo
  • 1.

3、运行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
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

启动 MongoDB,其中 -e 指定 MONGO_INITDB_ROOT_USERNAME 为 MongoDB 的 ROOT 用户名,MONGO_INITDB_ROOT_PASSWORD 为 MongoDB 的 ROOT 用户密码。

4、进入容器初始化数据库

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

docker exec -it 50 /bin/bash
  • 1.

接着输入:

mongosh
  • 1.

「新版本需要加上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
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.

四、运行yapi

1、搭建挂载配置文件

mkdir -p /data/yapi
  • 1.

vim config.json
  • 1.

{
   "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"
     }
   }
 }
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.

: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
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

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
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

5、测试使用

ip:3000http://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、点击发送

测试完成!!

七、总结

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



Tags:YApi   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
试试YApi进行接口文档管理
一、前言在我们后端开发中,必不可少的是接口的交接,有很多种方式,常见的就是swagger,不过这个侵入性太强了。还有就是接口文档的框架,比如今天小编带大家一起搭建的yapi,在公司还...【详细内容】
2023-08-09  Search: YApi  点击:(433)  评论:(0)  加入收藏
Centos7.4 Yapi 服务搭建
Centos Yapi服务搭建转载请标明原文出处参考以下网址,排名不分先后https://github.com/YMFE/yapi https://blog.csdn.net/guangzhou007_java/article/details/90779222 htt...【详细内容】
2020-02-17  Search: YApi  点击:(334)  评论:(0)  加入收藏
YAPI:从0搭建API文档管理工具
背景最近在找一款API文档管理工具,之前有用过Swagger、API Manager、Confluence,现在用的还是Confluence。我个人一直不喜欢用Swagger,感觉“代码即文档”,让代码里的文档无处...【详细内容】
2019-07-25  Search: YApi  点击:(1060)  评论:(0)  加入收藏
▌简易百科推荐
即将过时的 5 种软件开发技能!
作者 | Eran Yahav编译 | 言征出品 | 51CTO技术栈(微信号:blog51cto) 时至今日,AI编码工具已经进化到足够强大了吗?这未必好回答,但从2023 年 Stack Overflow 上的调查数据来看,44%...【详细内容】
2024-04-03    51CTO  Tags:软件开发   点击:(5)  评论:(0)  加入收藏
跳转链接代码怎么写?
在网页开发中,跳转链接是一项常见的功能。然而,对于非技术人员来说,编写跳转链接代码可能会显得有些困难。不用担心!我们可以借助外链平台来简化操作,即使没有编程经验,也能轻松实...【详细内容】
2024-03-27  蓝色天纪    Tags:跳转链接   点击:(12)  评论:(0)  加入收藏
中台亡了,问题到底出在哪里?
曾几何时,中台一度被当做“变革灵药”,嫁接在“前台作战单元”和“后台资源部门”之间,实现企业各业务线的“打通”和全域业务能力集成,提高开发和服务效率。但在中台如火如荼之...【详细内容】
2024-03-27  dbaplus社群    Tags:中台   点击:(8)  评论:(0)  加入收藏
员工写了个比删库更可怕的Bug!
想必大家都听说过删库跑路吧,我之前一直把它当一个段子来看。可万万没想到,就在昨天,我们公司的某位员工,竟然写了一个比删库更可怕的 Bug!给大家分享一下(不是公开处刑),希望朋友们...【详细内容】
2024-03-26  dbaplus社群    Tags:Bug   点击:(5)  评论:(0)  加入收藏
我们一起聊聊什么是正向代理和反向代理
从字面意思上看,代理就是代替处理的意思,一个对象有能力代替另一个对象处理某一件事。代理,这个词在我们的日常生活中也不陌生,比如在购物、旅游等场景中,我们经常会委托别人代替...【详细内容】
2024-03-26  萤火架构  微信公众号  Tags:正向代理   点击:(10)  评论:(0)  加入收藏
看一遍就理解:IO模型详解
前言大家好,我是程序员田螺。今天我们一起来学习IO模型。在本文开始前呢,先问问大家几个问题哈~什么是IO呢?什么是阻塞非阻塞IO?什么是同步异步IO?什么是IO多路复用?select/epoll...【详细内容】
2024-03-26  捡田螺的小男孩  微信公众号  Tags:IO模型   点击:(8)  评论:(0)  加入收藏
为什么都说 HashMap 是线程不安全的?
做Java开发的人,应该都用过 HashMap 这种集合。今天就和大家来聊聊,为什么 HashMap 是线程不安全的。1.HashMap 数据结构简单来说,HashMap 基于哈希表实现。它使用键的哈希码来...【详细内容】
2024-03-22  Java技术指北  微信公众号  Tags:HashMap   点击:(11)  评论:(0)  加入收藏
如何从头开始编写LoRA代码,这有一份教程
选自 lightning.ai作者:Sebastian Raschka机器之心编译编辑:陈萍作者表示:在各种有效的 LLM 微调方法中,LoRA 仍然是他的首选。LoRA(Low-Rank Adaptation)作为一种用于微调 LLM(大...【详细内容】
2024-03-21  机器之心Pro    Tags:LoRA   点击:(12)  评论:(0)  加入收藏
这样搭建日志中心,传统的ELK就扔了吧!
最近客户有个新需求,就是想查看网站的访问情况。由于网站没有做google的统计和百度的统计,所以访问情况,只能通过日志查看,通过脚本的形式给客户导出也不太实际,给客户写个简单的...【详细内容】
2024-03-20  dbaplus社群    Tags:日志   点击:(4)  评论:(0)  加入收藏
Kubernetes 究竟有没有 LTS?
从一个有趣的问题引出很多人都在关注的 Kubernetes LTS 的问题。有趣的问题2019 年,一个名为 apiserver LoopbackClient Server cert expired after 1 year[1] 的 issue 中提...【详细内容】
2024-03-15  云原生散修  微信公众号  Tags:Kubernetes   点击:(6)  评论:(0)  加入收藏
站内最新
站内热门
站内头条