V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
sean2009
V2EX  ›  分享创造

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

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

    背景:

    随着 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
    赞,提个需求,最好能生成自动生成某种语言代码,这样就不用写代码了哈哈
    sean2009
        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 等 . 目前仅仅是接口管理 ,
    目前有些功能在构思 , 总体的目标, 应该是比较适合个人开发者 以及 小中型团队.

    有可能的话, 看能否开源出来.
    siknet
        11
    siknet  
       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   ·   实用小工具   ·   1162 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 18:42 · PVG 02:42 · LAX 10:42 · JFK 13:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.