V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
HuntBao
V2EX  ›  程序员

NEI 接口管理平台

  •  
  •   HuntBao · 2016-10-25 16:51:08 +08:00 · 2816 次点击
    这是一个创建于 2739 天前的主题,其中的信息可能已经有所发展或是发生改变。

    对于 Web 产品来说, API 的重要性不言而喻,相信前后端工程师都深有体会。

    关于 API 的开发流程,笔者咨询过一些朋友,也在面试的过程中问过一些候选人,抱随意的态度较多:口头约定、邮件约定、通过即时聊天工具发送,也有编写较详细的 Word 文档的。大家都被这么一个问题困绕着:想了解 API 的完整参数及含义,除了看源码之外别无他法。如果是自己编写的代码,短期内还能回想起来,如果是别人编写的代码,那可能看了源码也还是一知半解。

    再说一个在开发中的常见现象。 API 中的 ID 字段,对类型“不敏感”的后端工程师,可能一会儿返回 number 类型,一会儿返回 string 类型。而前端工程师,都喜欢用“===”来判断,对类型有严格的要求。对于 number 类型,如果超过一定的位数,在浏览器端又会有溢出的问题。就这么一个类型不一致的问题,不知道浪费了全世界工程师的多少青春岁月。

    所以,我们迫切需要这么一个产品:

    • 方便地管理项目中的所有 API
    • API 文档清晰直观并且方便查看
    • 有自动化 API 测试工具,方便开发和测试工程师进行回归测试
    • 有方便地生成规范的 API 的功能,比如 RESTful API

    对于前端工程师来说,还有一个必不可少的功能: API 模拟容器(响应数据是根据 API 定义 MOCK 出来的),以便在后端没有开发好接口之前就能进行页面开发。这个 API 模拟容器对代码没有侵入性,即前端编写的代码,上线时不需要进行任何处理。

    就笔者的观察,能满足以上需求的工具在整个业界(包括国外)都还很少见。

    今天向大家推荐一款 API 管理产品:NEI 接口管理平台(以下简称 NEI )。

    NEI 是网易杭研前端技术部推出的一款产品,旨在帮助项目团队更好的管理 API 接口。 NEI 是杭研前端团队多年的技术沉淀,是很多位资深工程师的丰富经验总结,之前一直只对网易内部用户使用,今年 9 月初正式对外开放。

    下面大致地介绍一下 NEI 。

    NEI 按项目来管理所有资源,资源的创建和维护可由团队成员协作完成,目前它已经提供了以下功能:

    • 项目管理:动态、团队管理、权限管理、项目文档等
    • 页面管理:项目中的页面定义
    • 异步接口:即本文所说的 API
    • 接口测试和用例管理:方便回归测试和生成测试代码
    • 数据模型: NEI 中最强大的功能之一,对应数据库中的实体对象
    • 页面模板: NEI 配套的构建工具会根据定义生成模板文件
    • 规则函数:自定义 MOCK 数据, NEI 也预置了常见的规则函数
    • 业务分组:按照业务对项目资源进行细分,方便管理
    • 工程规范:本身可以当作脚手架,也可以和 NEI 项目结合,集成项目中的 API 和数据模型
    • 消息中心:保证重要的操作能及时通知到相关负责人

    下面是几篇介绍文章:

    以上所有文章都放在 Github 仓库的 doc 目录下:NEI 配套构建工具

    如果 NEI 能解决您遇到的一些麻烦事儿,那就赶紧去试试吧。

    最后,也欢迎大家在使用的过程中给我们提建议和意见:

    目前 NEI 已经托管在网易云上,在此也非常感谢网易云提供的服务。

    2 条回复    2016-10-25 20:07:56 +08:00
    flyingfz
        1
    flyingfz  
       2016-10-25 18:18:46 +08:00
    赞一个。 我自己写了个简单的东西,和你们的思路很类似,但远远没有你们实现的那么完善。
    HuntBao
        2
    HuntBao  
    OP
       2016-10-25 20:07:56 +08:00
    @flyingfz 以后可以多多交流哈
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3247 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 13:16 · PVG 21:16 · LAX 06:16 · JFK 09:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.