开源 YApi 接口管理平台发布 v 1.1.1 版本

2017-10-14 10:05:16 +08:00
 sean2009

背景:

随着 web 技术的发展,前后端分离成为越来越多互联网公司构建应用的方式。前后端分离的优势是一套 Api 可被多个客户端复用,分工和协作被细化,大大提高了编码效率,但同时也带来一些“副作用”:

  1. 接口文档不可靠。很多小伙伴管理接口文档,有使用 wiki 的,有 word 文档的,甚至还有用聊天软件口口相传的,后端接口对于前端就像一个黑盒子,经常遇到问题是接口因未知原因增加参数了,参数名变了,参数被删除了。
  2. 测试数据生成方案没有统一出口。我们都有这样的经历,前端开发功能依赖后端,解决方案有自己在代码注入 json 的,还有后端工程师临时搭建一套测试数据服务器,这种情况下势必会影响工作效率和代码质量,也不能及时进行更新。
  3. 资源分散,无法共享。接口调试每个开发者单独维护一套 Postman 接口集,每个人无法共用其他人的接口集,存在大量重复填写请求参数工作,最重要的是 postman 没法跟接口定义关联起来,导致后端没有动力去维护接口文档。 基于此,我们在前端和后端之间搭建了专属桥梁—— YApi 接口管理平台

介绍:

YApi 是去哪儿移动架构组推出的高效,易用的接口管理平台,旨在为开发人员提供统一的接口管理,Mock 服务,帮助开发者轻松维护 、测试 API。

特性:

  1. 基于 Json5 和 Mockjs 定义接口返回数据的结构和文档,效率提升多倍
  2. 扁平化权限设计,即保证了大型企业级项目的管理,又保证了易用性
  3. 不仅有类似 postman 的接口调试,还有强大的测试集功能
  4. 支持导入 postman , har, swagger 接口数据
  5. 免费开源,内网部署,信息再也不怕泄露了!

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

6683 次点击
所在节点    分享创造
16 条回复
young
2017-10-14 10:30:24 +08:00
hobbyliu
2017-10-14 10:45:18 +08:00
nice mark
unique
2017-10-14 10:46:02 +08:00
不小心看到楼主开发的 yDoc,很赞,我要试用一下
frozenthrone
2017-10-14 11:15:32 +08:00
已 star
limbo0
2017-10-14 11:26:10 +08:00
赞,提个需求,最好能生成自动生成某种语言代码,这样就不用写代码了哈哈
sean2009
2017-10-14 11:32:15 +08:00
@limbo0  这个需求马上要做了,支持各类语言 java php node ruby 等等
flyingfz
2017-10-14 13:05:06 +08:00
好多这种轮子, 淘宝的 RAP , 网易也有一个 , 还有 swagger 等等.

始终觉得, 这种轮子 最好是类似 swagger 一样, 输出一个接口定义文件. 有了这种文件, 其实能做的事情更多.

swagger 觉得太臃肿了,功能的确很强大.

我也搞了这么个轮子,现在还是半成品 , 我们小团队 内部用还是很爽的.
sean2009
2017-10-14 13:26:33 +08:00
@flyingfz Swagger、Rap、Nei 有一个普遍的问题,当接口定义改变时候维护他们会非常不容易的。真实的环境可能返回 Response 字段成百上千,基于 form 或者 jsonSchema 维护 json 的定义,是一件非常痛苦的事情。

YApi 在产品设计时候就想到了这个问题,基于 json5 和 mockjs 定义返回 Response, 既解决了开发者不易维护 json-schema 的问题,又能够利用 mockjs 强大的数据格式验证和生成数据功能,可谓一举两得

YApi 在未来真正的格局是要连接 前端、后端、QA,我们的目标是要做一个平台真正吧开发者连接起来。
YApi 还支持开发插件自定义功能,大家有兴趣可以看看 **插件开发文档** 。目前刚完善了插件开发相关文档,还有不足的地方,希望大家能够提建议。

yapi 插件开发文档: https://yapi.ymfe.org/plugin.html

最好建议呢,大家可以尝试用下 YApi,产品做得真的很良心,确实能够给各位开发者带来效率上的提升
gongbaodd
2017-10-14 13:47:34 +08:00
给东家打 Call ~
flyingfz
2017-10-14 13:50:33 +08:00
@sean2009 谢谢. 刚刚看了下 文档 . 有些方面 很有启发.

我们自己做的轮子, 预计还包含一些 项目管理 , 系统设计 测试 , CI 等 . 目前仅仅是接口管理 ,
目前有些功能在构思 , 总体的目标, 应该是比较适合个人开发者 以及 小中型团队.

有可能的话, 看能否开源出来.
siknet
2017-10-14 14:37:04 +08:00
已 star,我是去哪儿家属
D3EP
2017-10-14 20:55:41 +08:00
滋磁。隔壁的隔壁的隔壁组路过...
yuuko
2017-10-15 13:34:41 +08:00
已 star,我是去哪儿前员工,天若有情天亦老,我为去哪儿续一秒
agee
2017-10-15 21:35:11 +08:00
已 star
sean2009
2017-10-17 11:06:58 +08:00
好多去哪儿的,哈哈
moxiaonai
2017-10-19 10:14:40 +08:00
star

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/397518

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX