开源 YApi 接口管理平台发布 v 1.1.1 版本 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
sean2009
V2EX    分享创造

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

  •  2
     
  •   sean2009 2017-10-14 10:05:16 +08:00 7288 次点击
    这是一个创建于 2934 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景:

    随着 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

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

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

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

    我也搞了这么个轮子,现在还是半成品 , 我们小团队 内部用还是很爽的.
    sean2009
        8
    sean2009  
    OP
       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
        9
    gongbaodd  
       2017-10-14 13:47:34 +08:00
    给东家打 Call ~
    flyingfz
        10
    flyingfz  
       2017-10-14 13:50:33 +08:00
    @sean2009 谢谢. 刚刚看了下 文档 . 有些方面 很有启发.

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

    有可能的话, 看能否开源出来.
    Hansah
        11
    Hansah  
       2017-10-14 14:37:04 +08:00 via Android
    已 star,我是去哪儿家属
    D3EP
        12
    D3EP  
       2017-10-14 20:55:41 +08:00 via Android
    滋磁。隔壁的隔壁的隔壁组路过...
    yuuko
        13
    yuuko  
       2017-10-15 13:34:41 +08:00 via Android
    已 star,我是去哪儿前员工,天若有情天亦老,我为去哪儿续一秒
    agee
        14
    agee  
       2017-10-15 21:35:11 +08:00
    已 star
    sean2009
        15
    sean2009  
    OP
       2017-10-17 11:06:58 +08:00
    好多去哪儿的,哈哈
    moxiaonai
        16
    moxiaonai  
       2017-10-19 10:14:40 +08:00
    star
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2807 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 13:56 PVG 21:56 LAX 06:56 JFK 09:56
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86