简介

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

特性

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

安装

方法一


# 安装docker
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 bridge-utils git
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum -y install docker-ce
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose mkdir /etc/docker
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://plqjafsr.mirror.aliyuncs.com"]
} systemctl start docker && systemctl enable docker
systemctl daemon-reload git clone https://github.com/Ryan-Miao/docker-yapi.git
cd docker-yapi
docker-compose up

方法二

git clone https://gitee.com/fjc0k/docker-YApi.git
cd docker-YApi/ # 修改 docker-compose.yml 中 yapi-web 下的环境变量 YAPI_ADMIN_ACCOUNT 为你的管理员邮箱,YAPI_ADMIN_PASSWORD 为你的管理员密码。
[root@yapi docker-YApi]# vim docker-compose.yml
- YAPI_ADMIN_ACCOUNT=18621048481@163.com
- YAPI_ADMIN_PASSWORD=VABNCJEMRRYIQYXD [root@yapi docker-YApi]# docker-compose up -d

通过环境变量配置(推荐)

通过环境变量配置的选项会覆盖通过config.json或者config.js配置的选项。

基础配置

环境变量名称 类型 说明 示例
YAPI_ADMIN_ACCOUNT string 管理员账号(邮箱) admin@foo.bar
YAPI_ADMIN_PASSWORD string 管理员密码 adm1n

| YAPI_CLOSE_REGISTER | boolean | 是否关闭注册,由于 docker-YApi 已

内置相关插件

,你可在关闭注册后在后台手动添加用户 | true |

| YAPI_NPM_REGISTRY | string | npm 源,目前仅在安装插件时使用,默认官方源,国内可以设为淘宝源加速 | https://registry.npm.taobao.org |

数据库配置

环境变量名称 类型 说明 示例
YAPI_DB_SERVERNAME string MongoDB 服务地址 yapi-mongo
YAPI_DB_PORT number MongoDB 服务端口 27017
YAPI_DB_DATABASE string 使用的 MongoDB 数据库 yapi
YAPI_DB_USER string 登录 MongoDB 服务的用户名 root
YAPI_DB_PASS string 登录 MongoDB 服务的用户密码 r00t
YAPI_DB_AUTH_SOURCE string MongoDB 身份认证所用库 admin
YAPI_DB_CONNECT_STRING string 使用 MongoDB 集群时配置 mongodb://127.0.0.100:8418,127.0.0.101:8418/yapidb?slaveOk=true

| YAPI_DB_OPTIONS | json | Mongoose 连接 MongoDB 服务时的额外选项,一般不用设置。请参考:

Mongoose.prototype.connect() | {} |

邮件配置

环境变量名称 类型 说明 示例
YAPI_MAIL_ENABLE boolean 是否启用 true
YAPI_MAIL_HOST string 邮件服务地址 smtp.163.com
YAPI_MAIL_PORT number 邮件服务端口 465
YAPI_MAIL_FROM string 发送人邮箱 foo@163.com
YAPI_MAIL_AUTH_USER string 登录邮件服务的用户名 bar@163.com
YAPI_MAIL_AUTH_PASS string 登录邮件服务的用户密码 f00bar

| YAPI_MAIL_OPTIONS | json | 传递给 Nodemailer 的额外选项,一般不用设置。请参考:

Nodemailer > SMTP transport | {"tls":{"rejectUnauthorized":false}} |

LDAP 登录配置

点击查看 YApi 仓库下 LDAP 相关的 issues

环境变量名称 类型 说明 示例
YAPI_LDAP_LOGIN_ENABLE boolean 是否启用 true
YAPI_LDAP_LOGIN_SERVER string LDAP 服务地址 ldap://ldap.foo.bar
YAPI_LDAP_LOGIN_BASE_DN string 登录 LDAP 服务的用户名 cn=admin,dc=foo,dc=bar
YAPI_LDAP_LOGIN_BIND_PASSWORD string 登录 LDAP 服务的用户密码 f00bar
YAPI_LDAP_LOGIN_SEARCH_DN string 查询用户数据的路径 ou=users,dc=foo,dc=bar
YAPI_LDAP_LOGIN_SEARCH_STANDARD string 支持两种值:1、前端登录账号对应的查询字段,如:mail、uid等;2、自定义查询条件,其中%s会被前端登录账号替换,如:&(objectClass=user)(cn=%s) -
YAPI_LDAP_LOGIN_EMAIL_POSTFIX string 登录邮箱后缀 @163.com
YAPI_LDAP_LOGIN_EMAIL_KEY string LDAP 数据库存储用户邮箱的字段 mail
YAPI_LDAP_LOGIN_USERNAME_KEY string LDAP 数据库存储用户名的字段 name

插件配置

插件配置

环境变量名称 类型 说明 示例
YAPI_PLUGINS json 要使用的插件列表。点击查看开源 YApi 插件列表 →配置项数据格式:{"name": "插件名称,必须去除前缀 yapi-plugin-","options": "插件配置,没有配置则不必设置"}注意:安装插件会运行 YApi 自带的打包命令,其内存消耗较大,因此,在安装插件时,物理机可用内存最好大于等于4GB,否则,易出现内存溢出错误,导致插件安装失败。 [{"name":"gitlab","options":{}}]

项目地址

https://github.com/fjc0k/docker-YApi

使用

使用文档地址

https://hellosean1025.github.io/yapi/documents/index.html

yapi简介,安装及使用的更多相关文章

  1. Spark简介安装和简单例子

    Spark简介安装和简单例子 Spark简介 Spark是一种快速.通用.可扩展的大数据分析引擎,目前,Spark生态系统已经发展成为一个包含多个子项目的集合,其中包含SparkSQL.Spark S ...

  2. Python 3 mysql 简介安装

    Python 3 mysql 简介安装 一.数据库是什么 1.  什么是数据库(DataBase,简称DB) 数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合.数据 ...

  3. Linux简介安装、系统启动过程、目录结构

    Linux简介安装.系统启动过程.目录结构 Linux 教程 Linux 英文解释为 Linux is not Unix. Linux 简介 Linux内核最初只是由芬兰人李纳斯·托瓦兹(Linus ...

  4. 01 Node.js简介, 安装&配置

    Node.js 简介 Node.js 是什么 Node.js 有着强大而灵活的包管理器(node package manager,npm) 目前, 已经有强大第三方工具模块, 例如数据库连接, 网站开 ...

  5. memcached学习——大纲简介 && 安装(基于centos6.5)、启动、关闭memcached(一)

    大纲简介 安装前,先简单介绍一下memcached. memcached是一个免费.开源.高性能的分布式缓存.设计memcached的初衷是为了加快web应用程序,减少DB负载. 安装要求:支持大多数 ...

  6. GO的初始简书(一)简介安装

    已经玩了很长一段时间的golang了,做个gopher,下面我将逐步展示各种go语言的开发,从入门开始哦,完全是凭着自己学习和实践的结果展示,如果有说的不对的,请指正. 简介 go语言是由Google ...

  7. cobbler简介+安装

    (介绍部分的内容部分是借鉴网上的非原创) 回顾pxe+kickstart PXE        PXE(preboot execute environment,预启动执行环境) PXE启动原理: 当计 ...

  8. _1Python简介 安装及版本检测

    简介 Python是一种面向对象的解释性计算机程序设计语言,由荷兰人Guido von Rossum于1988年的圣诞节发明,第一个公开发行版于1991年. Python崇尚优美.清晰.简单,是一个优 ...

  9. Git:一、简介&安装Git 2.20.1

    0.Git官网 1.简介 一个分布式版本控制系统. 作用:自动记录每次文件的改动,还可以让同伴协作编辑. 分布式与集中式相比优点在于:版本库在每个人自己电脑上,不需要一直在网上,也不用担心某一个数据库 ...

随机推荐

  1. Leaflet 带箭头轨迹以及沿轨迹带方向的动态marker

    前面写了篇文章,mapboxgl实现带箭头轨迹线,介绍了如何基于mapboxgl实现类似高德地图导航轨迹效果. 下图是我基于leaflet实现的效果. 接下来分享一下在我基于leaflet实现该效果时 ...

  2. Web微信协议

    [文档]Web微信协议 1.登录 1.1 获取uuid(get) 请求 https://login.wx.qq.com/jslogin?appid=wx782c26e4c19acffb&red ...

  3. [GXYCTF2019]Ping Ping Ping 1

    进入界面 根据提示进行ping信号 看到网页的内容就想到经典的Linux命令执行,使用命令执行的管道符 "  |  "尝试列出文件 FLAG应该在Flag.php里面 构造play ...

  4. 在scanf函数中占位符使用错误而产生的一些错误

    出现的问题 在做编程题的的时候,遇到了一个很奇怪的错误,出问题的代码如下: 1 #include <cstdio> 2 using namespace std; 3 4 int main( ...

  5. 如何使用python把json文件转换为csv文件

    @ 目录 了解json整体格式 转换格式 提取key和value 使用pandas写入csv 了解json整体格式 这里有一段json格式的文件,存着全球陆地和海洋的每年异常气温(这里只选了一部分): ...

  6. Elasticsearch 复合查询——多字符串多字段查询

    前言 有时我们在搜索电影的时候,包含了多个条件,比如主演是周星驰,打分8分以上,上映时间是1990年~2001年的,那么Elasticsearch又该如何帮我们做查询呢?这里我们可以用 bool 查询 ...

  7. Go语言中利用append巧妙的删除slice切片中的元素

    package main import ( "fmt" ) //删除函数 func remove(s []string, i int) []string { return appe ...

  8. python inspect库

    一.介绍 inspect模块用于收集python对象的信息,可以获取类或函数的参数的信息,源码,解析堆栈,对对象进行类型检查等等. inspect模块主要提供了四种用处: 对是否是模块.框架.函数进行 ...

  9. Flutter 改善套娃地狱问题(仿喜马拉雅PC页面举例)

    前言 这篇文章是我一直以来很想写的一篇文章,终于下定决心动笔了. 写Flutter的小伙伴可能都感受到了:掘金的一些热门的Flutter文章下,知乎的一些Flutter的话题下或者一些论坛里面,喷Fl ...

  10. Tomcat搭建配置

    Tomcat是Apache软件基金会( Apache Software Foundation )的Jakarta项目中的一个核心项目,由Apache.Sun和其他一些公司及个人共同开发而成.受Java ...