百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

内网部署YAPI(内网部署免费文档协作)

suiw9 2025-03-24 20:40 5 浏览 0 评论

高效、易用、功能强大的API管理平台

旨在为开发、产品、测试人员提供更优雅的接口管理服务

官网:
http://yapi.demo.qunar.com/

功能

项目管理

提供基本的项目分组,项目管理,接口管理功能

接口管理

友好的接口文档,基于websocket的多人协作接口编辑功能和类postman测试工具,让多人协作成倍提升开发效率

MockServer

基于Mockjs,使用简单功能强大


环境要求

  1. nodejs(7.6+)
  2. mongodb(2.6+)
  3. git

安装

不想听我废话的,可以直接去看另一篇官方文档,很详细,还具体介绍了功能

https://hellosean1025.github.io/yapi/devops/index.html#%E5%AE%89%E8%A3%85

1.安装node.js环境

如果是Linux Ubuntu系统的,可以看我另外一篇博客

https://blog.csdn.net/tangcv/article/details/102721484

其余的可以自行百度

2.mongodb安装

楼主使用宝塔可视化安装

3.开始yapi安装

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

yapi server


yapi server后 会提示打开127.0.0.1:9090,服务器上记得开放下端口,然后进入配置yapi环境,

数据库是mongodb.在mongodb下添加对应的数据库名称,数据库名称得和9090界面上的匹配

部署完成之后,可按照提示信息,执行 node/{网站路径/server/app.js} 启动服务器。在浏览器打开指定url, 点击登录输入您刚才设置的管理员邮箱,默认密码为 ymfe.org 登录系统(默认密码可在个人中心修改)。

访问的时候就可以了。

但是存在一个问题,当shell窗口关闭时,服务也关闭了

网上有个方法,部署Supervisor,Supervisor是守护进程服务,感兴趣的可以去看看

https://blog.csdn.net/wenwang3000/article/details/99540931

我用了个简单的方法,宝塔里有个PM2管理器,安装好添加下就好了

添加yapi对应的项目地址,这个地址就是你安装的时候地址

还可以映射到自己的域名下

部署完访问:http://api.tangadmin.com(域名关闭了)

版本记录

v1.8.5

改善 swagger 自动导入,不再支持秒级别的 cron 表达式,默认使用 10分钟更新一次的频率

修复输入空的 swagger地址 ,会发起请求的 bug

优化 swagger 数据导入,不会导入空的分类,不会使用版本号作为分类名称

swagger 导入自动增加 basePath 到项目配置

v1.8.4

修复 swagger 导入数据时,如果数据格式中缺少 in 的参数,会丢失请求参数

修复当传入数据格式的 method 不规范时,容易导致获取对象为空,出现异常导致动态页面无法打开

修复解决
json-schema-faker/json-schema-faker#453 问题

v1.8.3

修复管理员无法看到所有分组的 bug

v1.8.2

重构分组列表功能实现,大幅度优化首屏加载速度

接口运行界面设置 header、query、form 的初始值为其示例值

运行接口请求时支持自动预览HTML

v1.8.1

优化插件【Swagger 自动同步】在添加地址时的服务端校验行为

优化单个测试用例执行超时时间限制,从3秒改为10秒

v1.8.0

filtering interface on the server instead of client

v1.7.2

支持接口路径模糊搜索,不包含 basepath

v1.7.1

废弃 yapi.ymfe.org 文档站点

v1.7.0

fix:修复md两个undefined以及run_auto_test中执行用例id问题 #1024

v1.7.0-beta.1

修复storage保存逻辑错误

v1.7.0-beta.0

[插件] 新增默认插件,支持通过 token 导出包含 basepath 的 json 格式接口,并整合添加 sm2tsservice 入口

[插件] 新增默认插件,支持swagger数据同步

修复不兼容 node7.6 bug

v1.5.14

修复接口运行部分请求参数默认使用示例填写值导致无法删除参数bug

修复无法保存 global bug

v1.5.13 (存在bug)

支持 pre-script 脚本持久化数据存储,storage 兼容浏览器和服务端,并且是持久化数据存储,不会丢失,用法类似于 localStorage

修复了swagger 数据导入bug

修复接口运行部分请求参数默认使用示例填写值导致无法删除参数bug

v1.5.12 (存在bug)

废弃 v1.6.x 新增功能,因为有不可控的bug出现

支持项目设置 hook

开放api 新增 '/api/plugin/export'

接口运行部分请求参数默认使用示例填写值

v1.5.10

解决 license should be a valid SPDX license expression 报错

修改OpenAPI比较版本方法

fix复制路径不包含基本路径

修复了第一次部署,首页一直处于 loading bug

v1.5.7

数据导入默认使用完全覆盖

升级新版本 cross-request 扩展,因 chrome 安全策略限制,不再支持文件上传

fix 重复的 moment 依赖,导致安装时报错

feat: add jsrsasign Lib

v1.5.6

修复 /api/open/import_data 参数bug

修复 /api/open/import_data 文档错误,merge 参数误写为 dataSync

v1.5.5

cross-request 升级到 2.10

/api/open/import_data 新增 url 参数,支持服务端 url 导入

v1.5.2

新增 openapi /api/project/get,可获取项目基本信息

v1.5.1

优化 restful api 动态路由权重匹配算法,匹配更加精确

openapi 新增 /api/interface/list_cat,获取某个分类下所有接口

新增了 rap数据导入到 yapi 插件 rap2yapi

v1.5.0

优化开放 api功能,现在 token 带有用户信息了

修复无法获取请求302 跳转前的 headers

v1.4.4

优化了 json-schema 编辑器交互,修复了参数名写到一半提示重复的问题

优化了首页体验,提升页面打开速度

新增自动化测试通用规则配置功能

v1.4.3

修复了可视化安装,mongodb 报错的问题

支持了 swagger 导出功能

支持了克隆测试用例

v1.4.2

优化数据导入对 headers 处理,如果 requestType 是 json,自动增加header "content-type/json"

fix: 修改了测试集合有多个项目接口时,切换执行环境相互覆盖不生效的问题 #692

fix: mongoose warning 'Error: (node:3819) DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead'

opti: 去掉没必要的redux-thunk

接口更新没有变化时,不记录日志,避免cron多次导入swagger的接口时,导致动态里展示一大堆的无意义日志

v1.4.1

支持任何人都可以添加分组,只有管理员才能修改项目是否公开

支持 mongodb 集群

Bug Fixed

修改 mock严格模式,GET带有 JSON BODY 导致的验证问题

对 queryPath 改动导致的bug,支持通过 xxx?controller=name 等 query 参数区分路径

因 tui-editor 需要安装github 依赖,导致部分机器无法部署成功的问题

v1.3.23

接口tag功能

数据导入增加 merge 功能

增加参数的批量导入功能

json schema 可视化编辑器增加 mock 功能

Bug Fixed

接口path中写入 ?name=xxx bug

高级mock 匹配 data: [{item: XXX}] 时匹配不成功

接口运行 query params 自动勾选

mock get 带 cookie 时跨域

json schema 嵌套多层 array 预览不展示 bug

swagger URL 导入 跨域问题

v1.3.22

json schema number和integer支持枚举

服务端测试增加下载功能

增加 mock 接口请求字段参数验证

增加返回数据验证

Bug Fixed

命令行导入成员信息为 undefined

修复form 参数为空时 接口无法保存的问题

v1.3.21

请求配置增加 context.utils.CryptoJS

环境变量支持自定义全局变量

增加wiki数据导出功能

用户管理处增加搜索功能

增加项目全局 mock 脚本功能

高级 mock 期望 支持关闭开启功能

Bug Fixed

优化ldap登陆

swagger 导入公共params

接口编辑 mockEditor 修改为 AceEditor

v1.3.20

Bug Fixed

修复 ykit 打包代码问题

修复 swagger url 导入选中后再切换其他数据方式时拖拽区域不出现问题

修复 wiki controller 后端报错问题

v1.3.19

增加项目文档记录wiki

支持swagger URL 导入

接口运行和测试集合中加入参数备注信息

测试接口导入支持状态过滤

json schema 增加枚举备注功能

左侧菜单栏可以支持单独滚动条

支持新版本通知

Bug Fixed

修复测试用例名称为空时保存测试用例出现的bug

导出markdown 路径参数处格式错误和参数table备注信息换行后样式错误

v1.3.18

增加全局接口搜索功能

邮件通知过滤功能

Bug Fixed

新建接口自动添加为项目成员

修复type为raw header type 为form 时运行body 为空问题

mongodb3.4-> 3.6 聚合 cursor报错

path 路径支持 !

json-schema 编辑器修复修改 type 导致描述信息被重置的问题

v1.3.17

请求配置中添加 context.castId 字段用于标识测试用例

Bug Fixed

修复服务器端测试,邮件通知开启token undefined bug

将状态由未完成修改成已完成之后,原来的json格式的数据会变成json-schema

有分类为空时导出json后再导入报错

只修改参数 必需/非必需, 文本/文件 时, 查看改动详情, 提示没有改动

ldap登陆允许用户输入的登陆账号非邮箱

v1.3.16

支持自定义域名邮箱登录

测试用例支持导入不同项目接口

完善可视化表达式,可根据焦点编辑表达式

req_body json 支持指针位置可视化插入表达式

Bug Fixed

导入postman headers 为 null 时报错

format-data 数据解析不成功

导出的接口顺序按照api的接口顺序

v1.3.15

增强跨域请求安全性,只允许 YApi 网站进行跨域请求

优化文档

修复 schema 描述信息展示 bug

增加禁止普通用户注册功能

v1.3.14

修复接口编辑白屏问题

v1.3.13

新增通过命令行导入 swagger 接口数据功能

接口请求设置新增异步处理特性

v1.3.12

Feature

接口列表支持路径查询

项目复制

预览页面交互优化

优化服务端自动化测试文案

增加项目接口json数据导入导出功能

Bug Fixed

项目中访客权限的账号可以 增、删、改接口中高级mock的设置

高级Mock 中的响应时间值无法保存(实际提示为:保存成功)

分类为空时添加接口

v1.3.11

Bug Fixed

修复 v1.3.10 websocket 连接问题

修复运行报错问题

修复数据导入 har 文件问题

v1.3.9

Feature

增加接口编辑返回数据预览

修复旧的文档链接

Bug Fixed

导入数据为空提示

v1.3.8

Feature

新增 json 结构可视化编辑器

pre-script 增加 method 字段数据

Bug Fixed

点击编辑 tab 可能导致运行功能异常

修复postman导入没有分类的问题

修复postman参数导入缺失

v1.3.7

Feature

完美支持 swagger, 接口请求参数和返回数据支持使用 json-schema 定义数据结构

增加测试集合列表的拖动功能

接口列表中增加“开放接口”状态

接口列表树形组件支持拖动

json-schema 导出 table 表单

接口列表和测试集树形组件支持拖动

图标从阿里 cdn 替换到本地

Bug Fixed

修复高级 Mock 服务端报错

修复测试集合 table 拖动频繁请求的问题

修复 swagger 数据导入部分 bug

v1.3.6

Feature

增加服务端的自动化测试功能,可集成到 jenkins, github 做接口自动化测试

增加导出公共接口功能

增加复制接口路径按钮

增加项目 token 功能,可通过 token 访问开放接口

antd 升级到 v3

Bug Fixed

修复接口动态提示有误

修复变量表达式无法反向展示的问题

v1.3.5

Feature

增加项目成员批量导入

数据导入同步,数据导入支持 swagger 3.0

swagger 数据导入支持 2xx 的 httpcode

新增系统信息页面

Bug Fixed

修复离开接口编辑页面的 confirm 框有时候会触发两次 & confirm 的 ‘X’ 按钮无效

修复添加集合后测试集合 list 不更新问题

测试集合点击对应接口侧边栏不切换

测试集合处,点击删除不成功

修改编辑接口后,再回到测试集合处数据不更新问题

修复 mongodb 帐号密码配置错误时引发的错误

修复删除分组后侧边数据没有更新问题

v1.3.4

Feature

帮助文档首页增加部署公司

进入 project 页面加入 loading

接口 list 页 table 中加入分页

项目添加者自动变成项目组长

Bug Fixed

修复无权限进入项目 bug

修复复制接口,query 等参数无法复制 bug

修复导出 html markdown 参数丢失问题

修复项目设置 pre-script 无法显示问题

v1.3.3

Feature

邮件功能中: 1)接口信息改动增加通知对应项目所有的成员;2)默认开启接口改动邮件提醒;3) 增加邮件内容的 jsondiff 信息

Bug Fixed

优化接口运行页面插件提醒

完善 log 记录不到的问题

修复接口内容改动不发送邮件问题

修复部分 swagger 数据导入丢失问题

v1.3.2

Feature

分组中新增接口自定义字段,便于用户在项目中添加额外字段数据

导入数据时新增导入 loading 显示

v1.3.1

Bug Fixed

修复接口状态和 req_params 参数无法更新问题

修复搜索测试集合不展开问题

修复测试过程中全局 header 不存在的问题

v1.3.0

Feature

yapi 默认集成 ldap 登录方式

yapi 做一个 sso 登录插件,基于现有的 qsso 改造成大多数公司可用的

环境设置支持全局 header

接口运行页面选择环境增加管理环境的弹层

接口运行支持加工运行前后的 request 和 response ,主要是处理加密的接口或各种 token 参数问题

自动化测试除提供自定义脚本外,还提供可视化表单形式验证一些数据,例如 statusCode、bodyContent

增加查看接口详细改动

支持接口运行页面 body 全屏编辑

数据导出到 html 支持了分类

Bug Fixed

修复了高级 Mock 无法获取到真实客户端 ip

v1.2.9

Bug Fixed

Api 路径兼容 postman {varible}

View Response Height 问题

Feature

新增克隆测试集功能

高级 Mock 期望支持 mockjs

pathname 允许只有一个 /

v1.2.8

Bug Fixed

修复接口运行 json 格式问题

修复测试报告显示问题

增加了接口数量统计

多参数表达式改用双大括号{{}}

修复了环境变量设置样式问题

Feature

测试用例增加自定义测试脚本功能

v1.2.7

Bug Fixed

修复接口运行功能,当 httpCode 不是 200 时,导致无法获取 response body 问题

修复路径参数无法删除优化测试集 table 页面,当文字超出一定长度会换行的问题

优化测试集断言错误提示

优化接口编辑 save 按钮样式

Feature

测试集断言增加 log 方法,用于输出调试日志

可视化动态参数表达式生成器,生成类似表达式 {@email | concat: pass | md5 | substr: 1,10}

v1.2.6

Bug Fixed

修复路径参数无法删除

Feature

参数值支持多个动态参数,类似 str{@email}str{$.55.body.id}

参数值支持管道表达式,例如 {@email | concat: pass | md5 | substr: 1,10}

接口编辑参数可拖动排序

修复路径参数无法删除问题

v1.2.5

Bug Fixed

成员如果第一次添加成员时选择组长,接着再添加下一个成员,如果 select 是默认的开发者,这时候会出现与上次 select 相同的值

如果添加了一个不存在的成员还是会提示添加成功,并且发送的数据是原来发送成功的数据,这里需要重置初始值并在未找到对应用户名时对未找到的人名应该提示用户不存在

Fix 接口集自动化测试 header 没有解析 mock 和 变量参数

在接口开发阶段,多个人并行改接口,如果最后一个人改之前没刷新页面,会把之前的人修改过的都冲掉了

修复 cross-request,response header 字段重复 bug

Feature

优化了分组添加,编辑交互

cross-request 计算了接口请求时间

新增接口文档导出 html, markdown 功能

v1.2.4

Bug Fixed

期望值输入时候换成字符串,导致 diff 时因类型不一致匹配不上

swagger 导入数据时出现的 id 未定义 bug

fix: kerberos dependencies 导致安装依赖需要编译的问题

修复了高级 mock 期望过滤参数为空时匹配不到的 bug

将接口编辑页的保存按钮变成一直在窗口底部

修改需求文档中项目操作处修改项目中的接口测试 a 链接指向的网页错误问题

添加接口时重名,现在提示“已存在”,并在提示信息中告知用户删改接口的位置

已添加的成员,再次添加会提示“添加成功”,优化提示为已成功添加人数,和已存在人数

添加分组和修改分组时有个权限问题没有更新,切换列表才更新,该问题已解决

解决修改和删除公共分类名称处,在添加接口时,选择接口分类名称没有修改的问题

Feature

接口 path 支持了后面带 /

cross-request 支持了不安全的 header,如 cookie, referer...

支持了 path 带特殊符号"!"

请求参数可改变顺序,目前只是对必需和非必需进行自动排序

用户头像上传问题,txt 改成 jpg 格式上传,用户头像显示空白,然后无法再次上传头像。无法再次上传的问题已经解决

解决用户头像改变但是 header 处图片不变的问题。问题描述:用户上传头像成功但是 Header 处的头像没有改变,并且点击其他页面后再回到个人中心里面的头像又变成没有重新上传时的图片,必须重新刷新才可以将 Header 处的图片更新

解决导入 postman 接口动态路由无法导入的 Bug

v1.2.0

Features

增加高级 Mock 期望功能,根据设置的请求过滤规则,返回期望数据。

增加统计功能

增加自动化测试功能,写断言脚本,实现精准测试

Bug Fixed

修复了切换集合环境的 Bug

修复了 mockServer 拿不到 Post 请求 Body

修复了接口调试 pathParams 无法使用 mock 参数和变量参数

v1.1.2

Features

接口运行增加了 query 和 body 的 enable 选项,可选择是否请求该字段

Mock 支持了时间戳占位符 @timestamp

接口集运行页面可选择环境

接口集动态参数格式由原来的 $.{key}.{jsonPath} 改为 $.{key}.{body|params}.{jsonPath}

Bug Fixed

修复了接口集运行功能会忽略环境配置的 domain 路径

修复了动态路由 mock 返回结果不是该接口定义返回数据

修复了日志链接错误问题

修复了添加用户 loading 问题

修复了用户名编辑,前台未更新问题

修复了复制接口导致 GET 请求显示 request-body 问题

修复了接口集页面刷新后跳转到第一个接口集问题

修复了接口用例页面修改 header 参数值没有效果 bug

修复了接口集页面导入接口会导致 reqBody 清空 bug

v1.1.1

Features

添加插件开发文档

接口和测试用例可拖动

优化动态提示

Bug Fixed

修复接口状态将接口方法重置为 get

环境配置域名带 path 无效

修复 Swagger 数据导入分类 bug

MockServer 支持 CORS 跨域

优化 JSON-SCHEMA 转化为 JSON 的逻辑,由原来随机转换不被 required 字段改为转换全部字段

修复了项目成员无法看到该项目的 Bug

修复了无法查看公共项目的 Bug

优化了部分样式和交互

v1.1.0

Features

新增个人空间功能,拥有这个分组的全部权限,可以在这个分组里探索 YApi 的功能

新增分组动态功能

优化接口运行页面交互

CrossRequest 扩展支持 https

增加了 Swagger 数据导入功能

v1.0.2

Features

网站改为 100%布局

优化搜索的提示

支持了 queryPath

接口浏览页面和编辑页面交互

新增高级 Mock 功能,可通过 js 代码去控制 mock 数据的生成

测试集支持了自动化测试

增加复制接口功能

在组长和开发者权限基础上,添加了 查看着 权限

v1.0.1

Fix Bug

修改接口名字后,需要刷新页面左边的侧边栏才会显示正确的名字

mockJson 出现 null,mock 出现格式不对问题

没有权限的分组不可选

项目列表图标设计大小优化下

关注的项目不显眼

添加接口之后,再次选择添加接口,会保留上次填写的信息

用例名称太长,导致无法使用删除功能

别人知道项目 id 虽然没有权限,但能看到里面所有内容

Features

接口备注集成了富文本编辑

支持 har 协议的接口数据导入

todo: 新增 crypto 加密函数

相关推荐

设置文件的默认打开方式(如何设定文件的默认打开方式)

在操作系统中,设置文件的默认打开方式可以让特定类型的文件始终使用你选择的程序打开。以下是Windows和macOS系统中设置默认打开方式的详细步骤:Windows系统方法1:通过文件属性设置右键点...

电脑怎么设置默认浏览器(电脑怎么设置默认浏览器?)

在电脑上设置默认浏览器的步骤因操作系统不同而有所差异。以下是Windows和Mac系统的设置方法:Windows系统方法1:通过系统设置打开“设置”:...

Java接口默认方法:灵活与约束并存

Java接口默认方法:灵活与约束并存在Java编程的世界里,接口作为定义行为规范的重要工具,一直扮演着举足轻重的角色。然而,在Java8引入了默认方法之后,接口的设计和使用方式发生了微妙的变化。今天...

Java8新特性之默认方法:为接口注入灵魂

Java8新特性之默认方法:为接口注入灵魂Java8发布时,它带来的最大创新之一就是接口的默认方法。这就像给一个传统的木偶注入了生命,让它不仅能动还能说话了。今天我们就来聊聊这个让Java开发者欢呼雀...

CentOS系统在不重启的情况下为虚拟机添加新硬盘

一、概述用过虚拟机的都知道,如果在系统运行的时候去给虚拟机添加一块新设备,比如说硬盘,系统是读取不到这个新硬盘的,因为系统在启动的时候会去检测硬件设备。但是我们也可能会遇到这样的情况,比如正在运行比较...

[常用工具] 基于psutil和GPUtil获取系统状态信息

本文主要介绍在Python3中利用psutil库获取系统状态,利用GPUtil获取gpu状态。psutil(processandsystemutilities)(进程和系统实用程序)是一个跨平...

Docker容器内执行宿主机指令(docker执行宿主机shell)

一背景最近项目有个需求,需要程序配置服务器IP并且可以重启服务器。如果程序直接部署在服务器,相信大家都会操作。但是程序是用docker运行的,在docker中执行指令就很麻烦了。...

容器网络调试怎么办?一条命令就搞定!

nsenter命令是一个可以在指定进程的命令空间下运行指定程序的命令。它位于util-linux包中。用途...

linux自动化巡检脚本集(linux服务器巡检内容以及标准)

以下是一个自动化巡检脚本集的制作方案,包含常见系统检查项和可扩展框架,使用Python和Shell脚本实现:...

麒麟KOS|统信UOS系统添加新数据盘
麒麟KOS|统信UOS系统添加新数据盘

原文链接:麒麟KOS|统信UOS系统添加新数据盘...

2025-03-26 16:57 suiw9

Linux CentOS 7 根目录扩容(linux扩展根目录磁盘空间)

一、现状描述现有一台CentOS7的虚拟机,硬盘容量为30GB通过lsblk命令查看分区容量,当前根目录容量为27.5GB左右二、扩容需求...

从Linux底层分析Docker原理(linux docker-compose)

写在前面如果你觉得本人对你有帮助,请你记得评论,点赞,关注;如果你觉得文章还不错请记得收藏,点赞。如果你觉得文章非常的好可以私信我,我会在第一时间回复你。...

CentOS新增硬盘的使用步骤(centos扩展硬盘)

一、查看机器所挂硬盘个数及分区情况,新增硬盘为/dev/sdb...

Python之psutil库简介(python3 pil库)

psutil(pythonsystemandprocessutilities)是一个跨平台的第三方库,能够轻松实现获取系统运行的进程和系统利用率(包扩CPU、内存、磁盘、网络等)信息。它主...

运维,你还不会查看Linux系统cpu信息?

CPU也称为微处理器或简称为处理器。就像大脑如何控制人体一样,CPU控制着计算机的所有部分。因此CPU被认为是计算机的大脑。那我们怎么在Linux系统中查看如IntelCorei3、i5、AM...

取消回复欢迎 发表评论: