yapi (YMFE/yapi)
Searching Database…
这是干什么的?
YApi 是一个可视化的 API 管理平台,面向开发者、产品经理和测试人员:在一个地方完成 API 的文档编写、调试、Mock 和自动化测试。
它是需要注册使用的托管服务,还是我自己搭建运行的?
需要自己搭建:YApi 是一个完整的 Web 平台,部署在你自己的服务器上——通常是公司内网——整个团队通过浏览器使用它。
怎么把它跑起来?
先运行 'npm install -g yapi-cli',再运行 'yapi server'——可视化部署向导会在浏览器里帮你完成安装;之后用 'node /server/app.js' 启动站点。也有非官方的 Docker 和 docker-compose 镜像可用。
安装之前服务器上需要准备什么?
Node.js 7.6 或更高版本、MongoDB 2.6 或更高版本,还有 git——服务器端就这些要求。
刚部署完有什么需要注意的坑吗?
初始管理员账号用的是默认密码 'ymfe.org',所以首次登录后记得在个人中心里改掉。不过升级很省心:'yapi update' 更新源码时不会影响已有的项目数据。
团队日常使用需要安装什么东西吗?
不需要——服务器部署好之后,成员只要在浏览器里打开实例地址登录就行,任何有浏览器的电脑都能用。
免费吗?公司里用也免费吗?
免费——YApi 基于 Apache License 2.0 开源,README 里也强调它是免费的,没有提到任何付费版本。
除了存放 API 文档,它还能做什么?
很多工作流程都能在 YApi 里完成:类似 Postman 的接口调试、带 Response 断言的自动化测试,还有内置的 MockServer。接口及其响应结构用 Json5 和 Mockjs 来描述,还可以从 Postman、HAR 或 Swagger 导入现有数据。
MockServer 是怎么决定返回什么内容的?
除了普通的随机 Mock 数据,它还有 Mock 期望功能:你可以定义请求过滤规则,符合条件的请求会返回你期望的响应,而不是随机值。
我能根据 API 定义生成客户端代码吗?
可以,通过生态工具来实现:yapi-to-typescript 可以生成 TypeScript 请求函数,yapi-gen-js-code 可以生成 JavaScript 请求函数,SwiftJSONModeler 可以根据 YApi 的接口定义生成 Swift 模型。
它是经过大规模验证的项目,还是个人业余项目?
它已被广泛用于生产环境——README 里列出的使用公司包括去哪儿、携程、美团、百度、腾讯、阿里巴巴、京东、今日头条和快手。
What are similar projects?
metersphere, json-server, swagger-ui, awesome-nestjs, parse-server, msw, gin-vue-admin, BrasilAPI
Which topics is it in?
api-management, mocking, mock, swagger, mongodb, enterprise, testing, documentation, rest-api, developers, web-app, api
