关于api设计:如何优雅地进行接口管理腾讯阿里资深研发首次分享秘诀

7次阅读

共计 1837 个字符,预计需要花费 5 分钟才能阅读完成。

**#### 工夫都去哪里了
**
麻利迭代和团队合作,前后端拆散的工作模式简直是每个互联网公司的惯例工作模式。

前后端拆散,各自开发的长处很多,其中一项是它只须要提供一个对立的 API 接口,即可被 web,iOS,Android 等多个客户端应用,效率大大提高。

但生于麻利,死于迭代,困于团队合作经常是这种软件研发模式的一大弊病。随着我的项目一直推动、变更,我的项目越来越大,保护老本也越来越高。

因为某些公司接口文档治理形式采纳 wiki 及 html,openapi 模式,版本迭代较快,接口经常变更,成员间 update 和文档保护却经常跟不上。

在 API 治理方面越到前期越存在着可观且隐形的“人力资源”节约:

1)文档老旧不可用,新人上手工作、相熟我的项目靠“老人”的口口相传,造成人力双重节约,团队成员本人的工作进度碰壁,新人胜任工作的进度缓慢。2)接口因为初期设计问题 / 性能扩大 / 需要变更问题而批改,但批改后往往难以及时同步到前端和测试等上游环节
3)接口在设计初期不标准,造成前端,测试在调试和测试了解上的艰难,甚至局部接口须要从新返工

这些状况越到我的项目倒退前期会越重大。以至于不少研发人员总是埋怨:写代码不累,沟通对接心累;工作不辛苦,就是命苦。
如何优雅地进行 API 治理

为了解决研发人员的问题,咱们须要解决 API 治理中的各个痛点,换言之,一个完满的 API 管理工具应满足如下特色:

** 在接口设计阶段,能标准研发人员的接口设计

在接口调试阶段,提供多种性能充沛调试,高度仿真理论工作情境

在接口保护过程中,保护成本低,且各项变更能及时 update 到上游工作环节的团队共事

一站式服务,一个工具就可实现接口的设计、调试、保护,测试过程,不须要重复导入导出,各个软件来回切换,提高效率。**

最终的解决方案

笔者在网上找了很长时间,发现一款简直能满足以上需要的解决方案软件 –Apifox. 这个软件的次要个性:

    可视化接口设计界面,反对 https 和 https 协定,遵循 openApi 和 Json Schema 标准,各项 http 申请参数与接口形容间接填写即可。反对构建数据模型,可供多个申请参数复用。媲美 postman 的接口调试性能,除此之外,还反对“零配置”mock 高度仿真的业务数据,反对读取数据库

    零碎主动生成代码 依据接口及数据数据模型定义,零碎主动生成接口申请代码、前端业务代码及后端业务代码

    实时更新云端变更的数据到各个团队成员,防止数据不统一导致的反复工作和返工;代码更新和文档更新在同一软件全副实现,缩小保护工作量

    项目管理 为不同的我的项目角色调配不同执行权限,无效爱护我的项目数据安全; 反对 openapi,postman 格局的旧有我的项目导入 apifox,实现我的项目无痛迁徙,反对 html 格局,openapi 等多种格局的接口数据导出。

接下来笔者再针对一些性能进行具体的介绍

接口设计

界面可视化,能够对接口信息进行编辑治理,get,post 等惯例的接口申请办法间接下拉框抉择;query,body,header 参数间接对应填写,返回参数反对 JSON,XML 格局导入,并能间接进行格局校验。接口形容局部反对 Markdown 格局的文本。

  1. 接口调试
    接口调试有两种模式,一种是不须要创立我的项目的快捷调试,间接校验接口申请 和返回参数,一种是在我的项目里对单个接口调试,这部分的性能根本等同于 postman。可增加多种前后置操作:

校验返回 response,查看返回状态和数据结构是否合乎预期。

接口保护 当变更接口时间接在 apifox 内批改并生成新代码,同时阐明文档就寄存在同一个地位,棘手批改文档阐明就变得十分不便。接口变更之后,合作成员能及时同步云端变更。项目管理 反对数据导入导出,主动生成接口代码

针对不同角色的成员,设置不同的数据权限。如后端研发能够批改接口数据,而前端和测试成员只有只读权限,我的项目外人员则只有访客权限只能查看到接口信息而无奈查看数据类型。

可针对开发调试,测试验证,线上应用配置不同的服务器:

此外

Apifox 不仅是一款针对研发人员的 API 管理工具,还能为测试人员提供接口测试,接口自动化测试,测试治理等一系列性能。能够说是一款研发团队一站式晋升效率的神器。
————————————————
版权申明:本文为 CSDN 博主「FishInDesert」的原创文章,遵循 CC 4.0 BY-SA 版权协定,转载请附上原文出处链接及本申明。
原文链接:https://blog.csdn.net/yuexias…

正文完
 0