接口又多又杂怎么办?试试这样管理 API 接口文档! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
scarqin
V2EX    程序员

接口又多又杂怎么办?试试这样管理 API 接口文档!

  •  
  •   scarqin 2017-11-03 15:59:23 +08:00 4876 次点击
    这是一个创建于 2903 天前的主题,其中的信息可能已经有所发展或是发生改变。

    API 接口在设计时往往需要编写大量的文档,而且编写完成后往往需要根据实际情况,经常改动文档,这使得文档编写维护工作量相对较大,这让很多的开发者都很头疼。

    此外,伴随着接口版本的迭代开发,接口文档也需要同步更新。而且接口开发完成以后,做接口测试会十分不方便,要是遇上接口数量多、参数负载的情况,那不仅不方便,测试工作量会重上加重。

    我们还经常会因为交付周期的原因,需要接入一个第三方的库,而第三方的库通常都存在文档老旧,文档不够全面等等或多或少的问题。那这个问题相比于没有文档,对程序员来说更加难以棘手。因为会造成:我们需要的接口不在文档上,文档上的接口不存在库里,又或者是少了一行关键的代码。

    以上的问题我都有遇到过,后来还是找到了一些工具如 eolinker 解决了这些问题,在这里分享一下我的经验。

    1、接口信息清晰完善

    没有文档的库,就好比一个黑盒,我们无法预期它的正常行为。输入了一个 A,预期返回的是一个 B,结果它什么也没有。有的时候,还抛出了一堆异常,导致你的应用崩溃。 而接口信息模糊冗杂,不但加大了开发人员理解的难度,还增加了无谓的沟通成本,拖延项目进度。 为此,我们在编写接口时,应考虑完善,接口录入信息清晰有条理,避免含糊不清的用词和参数。

    1

    2、接口文档更新及时

    随着接口版本的迭代开发,接口信息有所变化,旧文档已经不能满足接口的要求,开发者可以通过对相应接口文档的接口操作,根据现有接口信息进行重新录入,快速保存为接口的新文档。

    3、接口操作历史可溯源

    类似 gitHub,接口文档的每一次改动历史应清晰记录下来。在后期接口管理和维护上,通过对操作历史的查看,开发者可以了解到每次改动的目的和内容,进而科学管理接口。 eolinker AMS 记录了接口文档近十次的操作历史,支持接口历史一键回溯功能,降低了成员对接口文档误操作的风险。

    2

    4、成员权限有所限制

    在项目开发中,由于每个团队成员在项目中担任的角色不同,他们对接口文档应有不同的操作权限,以确保相关接口文档的完整性和安全性。 eolinker AMS 提供了灵活的权限管理,通过分配适当权限给相应成员,保证开发时文档不被无关人员篡改。

    3

    5、接口测试同步完成

    编写完接口文档后,为验证接口返回值是否符合接口文档所描述的预期结果,开发者们需要对接口进行测试。 eolinker AMS 提供接口本地一键化测试功能,只要将信息录入 eolinker 接口管理平台,你将会省去将接口信息重新复制到测试工具的操作。你只需要点击测试页面,输入测试参数值,便可完成测试。

    4

    5

    当然,它还提供 mock 测试功能,通过设置假数据以验证接口的可行性。

    6

    14 条回复    2017-11-07 10:34:32 +08:00
    windflyme5
        1
    windflyme5  
       2017-11-03 16:45:55 +08:00
    要是能支持 poseman 直接转换文档就好了
    winglight2016
        2
    winglight2016  
       2017-11-03 16:58:57 +08:00
    @windflyme5 postman ?有 postman 还需要转换文档吗?
    gavin6liu
        3
    gavin6liu  
       2017-11-03 17:07:25 +08:00
    这个后台是用啥做的
    Pastsong
        4
    Pastsong  
       2017-11-03 17:10:08 +08:00
    Swagger(Open API), Postman, Paw, API Blueprint 等赞了这个帖子
    xiao6zi
        5
    xiao6zi  
       2017-11-03 17:11:44 +08:00
    apizza 这个可以 转换文档
    yejinmo
        6
    yejinmo  
       2017-11-03 17:15:48 +08:00
    搭车问一下,支持 WebSocket(JSON 格式) 的接口管理有什么
    mingyun
        7
    mingyun  
       2017-11-03 22:24:22 +08:00
    搜了下 居然是 PHP 开发 还有开源版 https://www.eolinker.com/#/os/download
    allenhu
        8
    allenhu  
       2017-11-04 09:24:20 +08:00 via Android
    Swagger 等赞了这个帖子
    dashenbibi
        9
    dashenbibi  
       2017-11-06 17:07:07 +08:00
    早就想分享了~团队正在用~eolinker 在接口管理算是国内第一了吧?
    dashenbibi
        10
    dashenbibi  
       2017-11-06 17:09:46 +08:00
    vocalman
        11
    vocalman  
       2017-11-06 17:16:09 +08:00
    我也是在用,这个支持文档转换的
    xiubao
        12
    xiubao  
       2017-11-06 17:31:00 +08:00
    可以看下这个管理工具,免费开源+接口自动化测试,可线下部署
    线上部署: http//doclever.cn
    开源地址: https://github.com/sx1989827/DOClever
    muxuClover
        13
    muxuClover  
       2017-11-07 10:29:49 +08:00
    果然在这里找到了这篇文章,这是做接口管理的
    scarqin
        14
    scarqin  
    OP
       2017-11-07 10:34:32 +08:00
    @mingyun 是的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3360 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 04:44 PVG 12:44 LAX 21:44 JFK 00:44
    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