首页 > 其他分享 >前后端分离开发工具YAPI部署记录

前后端分离开发工具YAPI部署记录

时间:2022-12-01 11:35:57浏览次数:65  
标签:YAPI 插件 yapi 部署 YApi 接口 开发工具 -- docker

之前公司说要建立起前后端分离开发模式,而我只是刚毕业,让我负责建立起这个规范 ,虽然刚毕业还没去大厂待过,对我来说是个挑战,只能按我理解和网上的方案进行建立。在 ​​Go​​​ogle 和 github 搜了好多项目,最终找到一个很好的​​工具​​,只要搭建在内网就能完美解决前后端分离开发的一些缺点。下面搭建看看

1.搭建​​Yapi​​ 的数据库 mongo

直接 docker 命令走起

docker run -d \
-p 27017:27017 \
--name mongo \
--restart=always \
-v /data/mongo:/data/db \
-e MONGO_INITDB_ROOT_USERNAME=mongo \
-e MONGO_INITDB_ROOT_PASSWORD=123456 \
mongo

前后端分离开发工具YAPI部署记录_json

2.自定义配置文件 yapi-config.json

mkdir /data/yapi
vim /data/yapi/yapi-config.json

填入配置(账号密码自己改)

{
"port": "3000",
"adminAccount": "[email protected]",
"timeout": 120000,
"db": {
"servername": "mongo",
"DATABASE": "yapi",
"port": 27017,
"user": "mongo",
"pass": "123456",
"authSource": "admin"
}
}

3.初始化 ​​YAPI​​ 数据库索引及管理员账号

docker run -it --rm \
--link mongo:mongo \
--entrypoint npm \
--workdir /yapi/vendors \
-v /data/yapi/yapi-config.json:/yapi/config.json \
registry.cn-hangzhou.aliyuncs.com/anoyi/yapi \
run install-server

记录密码

前后端分离开发工具YAPI部署记录_YAPI_02

4.启动 Yapi 服务

docker run -d \
--name yapi \
--restart=always \
--link mongo:mongo \
--workdir /yapi/vendors \
-p 9999:3000 \
-v /data/yapi/yapi-config.json:/yapi/config.json \
registry.cn-hangzhou.aliyuncs.com/anoyi/yapi \
server/app.js

前后端分离开发工具YAPI部署记录_json_03

5.访问 ip:9999 登录查看

前后端分离开发工具YAPI部署记录_数据_04

前后端分离开发工具YAPI部署记录_docker_05

6.新建项目、接口测试

前后端分离开发工具YAPI部署记录_YAPI_06

前后端分离开发工具YAPI部署记录_数据_07

随便找个 json 粘贴上去保存

前后端分离开发工具YAPI部署记录_YAPI_08

自动生成 json,点击 mock 查看

前后端分离开发工具YAPI部署记录_Docker_09

前后端分离开发工具YAPI部署记录_YAPI_10

7.总结

这个工具比较适合模拟基本的 json 优点:能够通过粘贴各种 json 生成对应格式,支持导出和导入,支持的​​插件​​很多,可以去 github 文档上查看,支持的插件还是很全的。缺点:就是需要手动去改模拟内容,如中文、时间等。

YApi 可视化接口管理平台

体验地址:

​http://yapi.smart-xwork.cn/​

文档:

hellosean1025.github.io/yapi

平台介绍

前后端分离开发工具YAPI部署记录_YAPI_11

YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。

特性

  • 基于 Json5 和 Mockjs 定义接口返回数据的结构和文档,效率提升多倍
  • 扁平化权限设计,即保证了大型企业级项目的管理,又保证了易用性
  • 类似 postman 的接口调试
  • 自动化测试, 支持对 Response 断言
  • MockServer 除支持普通的随机 mock 外,还增加了 Mock 期望功能,根据设置的请求过滤规则,返回期望数据
  • 支持 postman, har, swagger 数据导入
  • 免费开源,内网​​部署​​,信息再也不怕泄露了

内网部署

环境要求

  • nodejs(7.6+)
  • mongodb(2.6+)
  • git

安装

使用我们提供的 yapi-cli 工具,部署 YApi 平台是非常容易的。执行 yapi server 启动可视化部署程序,输入相应的配置和点击开始部署,就能完成整个网站的部署。部署完成之后,可按照提示信息,执行 node/{网站路径/server/app.js} 启动服务器。在浏览器打开指定 url, 点击登录输入您刚才设置的管理员邮箱,默认密码为 ymfe.org 登录系统(默认密码可在个人中心修改)。

npm install -g yapi-cli --registry https://registry.npm.taobao.org
yapi server

服务管理

利用 pm2 方便服务管理维护。

npm install pm2 -g  //安装pm2
cd {项目目录}
pm2 start "vendors/server/app.js" --name yapi //pm2管理yapi服务
pm2 info yapi //查看服务信息
pm2 stop yapi //停止服务
pm2 restart yapi //重启服务

升级

升级项目版本是非常容易的,并且不会影响已有的项目数据,只会同步 vendors 目录下的源码文件。

cd  {项目目录}
yapi ls //查看版本号列表
yapi update //更新到最新版本
yapi update -v {Version} //更新到指定版本

教程

YApi 插件

代码生成

YApi docker 部署(非官方)

YApi 一些工具

YApi 的一些客户

  • 去哪儿
  • 携程
  • 艺龙
  • 美团
  • 百度
  • 腾讯
  • 阿里巴巴
  • 京东
  • 今日头条
  • 唯品支付
  • 链家网
  • 快手
  • 便利蜂
  • 中商惠民
  • 新浪
  • VIPKID
  • 马蜂窝
  • 伴鱼
  • 旷视科技

本文由「​​诚哥博客​​​」原创,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 ​



标签:YAPI,插件,yapi,部署,YApi,接口,开发工具,--,docker
From: https://blog.51cto.com/u_15898395/5901459

相关文章

  • 部署Docker管理面板Portainer
    相信很多人都会遇到​​部署​​​了docker后想要有个可以管理的控制台,方便我们对docker服务进行管理,查看日志、查看内存占用等等,虽然docker命令都能查看,但是肯定没有图表可......
  • 前后端分离开发工具YAPI部署记录
    之前公司说要建立起前后端分离开发模式,而我只是刚毕业,让我负责建立起这个规范,虽然刚毕业还没去大厂待过,对我来说是个挑战,只能按我理解和网上的方案进行建立。在​​Go​​......
  • Nuxt项目部署服务器
    一、在项目的根目录增加ecosystem.config.js文件pm2的配置文件,pm2启动的时候会自动读取该配置module.exports={apps:[{name:'nuxt-website',//名......
  • 记录一次项目部署在阿里云的1万压测
    场景:与往常测试不同,这次项目部署在阿里云服务器上面,需要在外网对其进行高并发压测(10000并发),这时需要考虑一个在内网压测不用考虑的因素,就是带宽。因为带宽的瓶颈不仅影响项......
  • redis集群之分片集群的原理和常用代理环境部署
    上篇文章刚刚介绍完redis的主从复制集群,但主从复制集群主要是为了解决redis集群的单点故障问题,通过整合哨兵能实现集群的高可用;但是却无法解决数据容量以及单节点的压力问......
  • 云运维管理体系的框架及部署架构
    云运维管理是采用集中化的方式,统一管理开源云资源池所有云资源的规划、监控、调拨、维护和优化,具有规范性和统一性,可以降低整体的维护成本。1.云运维管理体系部署架构云......
  • 云运维管理体系的框架及部署架构
    云运维管理是采用集中化的方式,统一管理开源云资源池所有云资源的规划、监控、调拨、维护和优化,具有规范性和统一性,可以降低整体的维护成本。1.云运维管理体系部署架构云运维......
  • 图解来啦!机器学习工业部署最佳实践!10分钟上手机器学习部署与大规模扩展 ⛵
    ......
  • tomcat_关闭以及部署项目方式
    tomcat_关闭1.正常关闭 bin/shutdown.bat  ctrl+c也可以正常关闭2.强制关闭点击启动窗口x  tomcat_部署项目方式配置:部署项目的方......
  • Kubernetes专栏 | 安装部署(一)
    --随着云原生概念的普及,许多企业的业务纷纷上云,为了追求可靠性,稳定性,和弹性伸缩,提升资源利用率等需求。Kubernetes这个谷歌开源的容器编排平台已日益流行,被大家熟知和......