yapi 是什么

YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。提供了 api 文档管理,api 数据 模拟(Mock),调试和自动化测试 api 等功能可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。简单点就是说,前后程序员可以减少接触,以减少不必要的争♂吵!

主要解决前后端分离带来的以下痛点:

1、接口文档不可靠。很多小伙伴管理接口文档,有使用wiki的,有word文档的,甚至还有用聊天软件口口相传的,后端接口对于前端就像一个黑盒子,经常遇到问题是接口因未知原因增加参数了,参数名变了,参数被删除了。

2、mock 数据生成方案没有统一出口。我们都有这样的经历,前端开发功能依赖后端,解决方案有自己在代码注入json的,还有后端工程师临时搭建一套测试数据服务器,这种情况下势必会影响工作效率和代码质量,也不能及时进行更新。

3、资源分散,无法共享。接口调试每个开发者单独维护一套Postman接口集,每个人无法共用其他人的接口集,存在大量重复填写请求参数工作,最重要的是postman没法跟接口定义关联起来,导致后端没有动力去维护接口文档。

4、集成 api 自动化测试困难。yapi 提供了可视化的 api 自动化测试方案,只需要简单的填写参数,增加断言,就能实现 api 自动化测试。

环境要求

nodejs(7.6+)
mongodb(2.6+)

安装mongodb

首先安装阿里云镜像这里呢需要在/etc/yum.repos.d 目录下创建mongodb-org.repo的一个文件

并在文件中加入如下

[mongodb-org]
name=MongoDB Repository
baseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/3.2/x86_64/
gpgcheck=0
enabled=1

然后

yum install -y mongodb-org
systemctl start mongod
systemctl enable mongod

然后呢进入mongodb 创建一个用户

mongo
use api
db.createUser({user:'api',pwd:'wangle',roles:[{role:'readWrite',db:'api'}]})
#验证
db.auth('api','wangle')

安装 nodejs

curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -yum -y install nodejs

如果没有编译环境,则需要yum install gcc-c++ make -y

安装与配置YApi工具

这里采取了离线安装,原因不多说

mkdir yapi
cd yapi
tar zxvf yapi-1.5.7.tar.gz
cd yapi-1.5.7

当然如果网速给力的话可以在服务器上安装git 然后clone仓库也行

git clone  https://github.com/YMFE/yapi.git

yapi工具包

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

修改配置文件

{"port": "3000","adminAccount": "admin@admin.com","db": {"servername": "0.0.0.0","DATABASE":  "api","port": 27017,"user": "api","pass": "wangle"},"mail": {"enable": false,"host": "smtp.163.com","port": 465,"from": "***@163.com","auth": {"user": "***@163.com","pass": "*****"}}
}

然后更改 server 目录下的yapi.js 这个文件 把里面的

const config = require('../../config.json');

改为 相对目录下的json配置文件 或者直接拼绝对路径也行

const config = require('../config.json');

安装node模块

npm install --production --registry https://registry.npm.taobao.org

安装yapi软件

npm run install-server

启动服务

 node server/app.js &

访问http://ip:3000即可

另附上一个谷歌浏览器插件,后续在YApi调试接口中会用到 crossRequest

后台启动

forever 包搞定,解决方案如下:

sudo npm install -g forever --registry=http://registry.cnpmjs.org
forever start你的脚本文件(如server.js)
forever list查看所有 forever 运行的进程
forever stop uid停止运行指定 uid 的进程

sudo npm install forever -g   #安装
forever start app.js          #启动
forever stop app.js           #关闭
forever start -l forever.log -o out.log -e err.log app.js   #输出日志和错误

代理方式:

如果是从nginx代理,请配置nginx支持websocket

在location /添加

proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://ip:port;

Centos7 安装超牛逼的api管理平台yapi相关推荐

  1. 拿下监控,我全靠这个超牛逼的告警管理平台

    你可能也遇到过这样的场景: 在一个惬意的周六夜里,运维郭哥正在梦里神游,正美着呢,然而领导突然一通电话打过来,说服务器崩了,给你5分钟时间马上恢复! 毫无疑问,服务器出问题了,但郭哥没收到告警,错过了 ...

  2. 宝塔面板——超牛逼的服务器管理软件+百度云端口组放行

    一.介绍 宝塔Windows面板是提升运维效率的服务器管理软件,最新面板仅支持Windows Server 2008 R2/2012/2016/2019,64位系统(中文简体),且未安装其它环境,低于 ...

  3. 百度免费开源 API 管理平台 YAPI

    mark一下,有空研究的时候再详细笔记. https://yapi.baidu.com/ 受管理政策影响,该域名永久停止使用. 即日起请使用新域名 http://yapi.smart-xwork.cn ...

  4. 几款超牛逼的 SSH 客户端工具!好用到爆

    点击下方公众号「关注」和「星标」 回复"1024"获取独家整理的学习资料! 一.Windows 想来占有量最大的操作系统,得非莫属了吧,相信 Windows 系统肯定是陪伴了很多小 ...

  5. 再见 Teamviewer!这款国产轻量级远程桌面软件超牛逼

    点击下方公众号「关注」和「星标」 回复"1024"获取独家整理的学习资料! 对很多 Mac 用户来说,想用远程控制请教下大佬,太难了. 在 Windows 上一个 QQ 就能搞定的 ...

  6. 如何设计一个牛逼的API接口

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:腾讯推出高性能 RPC 开发框架 个人原创100W+访问量博客:点击前往,查看更多 在日常开发中,总会接触到各种 ...

  7. symfony api 错误响应_如何设计一个牛逼的 API 接口

    在日常开发中,总会接触到各种接口.前后端数据传输接口,第三方业务平台接口.一个平台的前后端数据传输接口一般都会在内网环境下通信,而且会使用安全框架,所以安全性可以得到很好的保护.这篇文章重点讨论一下提 ...

  8. 还在付费使用 XShell?我选择这款超牛逼的 SSH 客户端,完全免费!

    点击关注公众号,回复"1024"获取2TB学习资源! 分享过 FinallShell 这款 SSH 客户端,也是我目前常用的 SSH 客户端工具,FinalShell 使用起来方便 ...

  9. 挺带劲!这款开源数据库迁移工具超牛逼

    点击下方公众号「关注」和「星标」 回复"1024"获取独家整理的学习资料! 迁移数据库可以说是日常工作中的家常便饭,不过,如果一不小心把数据库搞炸了,那就麻烦大了(搞不好就得背锅了 ...

最新文章

  1. Notification 使用详解
  2. H3C V7 AC https页面无法重定向问题处理经验总结
  3. 理解javascript 回调函数
  4. linux c 删除 文件 第一行
  5. DataSet 去除重复的行
  6. 东北大学计算机应用基础在线作业,东北大学计算机应用基础
  7. CentOS中使用Dockerfile部署带websocket的SpringBoot的jar包
  8. boost::mp11::mp_map_insert相关用法的测试程序
  9. c语言按shift用户随时退出,2014年云南省“三校生”高考计算机第三次模拟试卷...
  10. 项目中通用的顶部标题和返回的TitleBar
  11. Algorithm(1) - Karatsuba multiplication
  12. 排列组合在计算机科学的应用,数学在计算机科学的应用.doc
  13. 全球 42 亿 IPv4 地址宣告耗尽!
  14. 机器学习算法总结(六)——EM算法与高斯混合模型
  15. C++构造函数详解(复制构造函数)
  16. EXCHANGE清除可恢复项目文件夹(就地电子数据展示和保留)
  17. C++泛型编程——迭代器
  18. —— GPS测量原理及应用复习-7 ——
  19. HTML做一个节日页面【六一儿童节】纯HTML代码
  20. 关于校园流浪猫狗的调查报告 新生研讨课校内调查

热门文章

  1. 饿了么拿什么留住年轻人?
  2. 特发性震颤手抖怎么治
  3. open*** 搭建
  4. 第一章:Android开发概述
  5. spring mvc 日期类型转换问题 @initBinder解决前台与后台的日期格式不统一问题
  6. 【LBTC区块链进阶】分叉币的正确打开方式
  7. xshell和xftp下载免费版的方法
  8. 微信小程序云开发-云数据库表里所有数据新增某字段
  9. django之评论系统及多级评论
  10. Android 悬浮框按钮