你还能找到比易文档更好用的接口文档工具吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
balabalaguguji
V2EX    分享创造

你还能找到比易文档更好用的接口文档工具吗?

  •  
  •   balabalaguguji 2019-03-10 23:33:44 +08:00 9938 次点击
    这是一个创建于 2488 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想问下各位,你们平常开发都写 API 文档吗?我们团队协作平常都会写,大概这些情况会用到:

    1. 远程协作,这种情况接口文档肯定是必须的;
    2. 坐在一起开发,开发节奏不一致的,也需要写好接口文档给客户端,不然等他跟你对接时,你还得去翻代码,告诉他有些什么请求参数 /响应参数;
    3. 接手别人的项目,你肯定会希望有个接口文档

    写接口文档的工具,我尝试过很多,我之前用过txt写、用过小幺鸡、用过apizza、用过Showdoc、看云、Gitbook、ReadTheDoc、Yapi、MinDoc、eoLinker、RAR,真的是尝试过很多个,但是他们都有一些不如意的地方。

    小幺鸡:样式太丑,直接是十几年前那种table的样式,每添加一行参数都要鼠标点击一下新建,编写体验很差,预览页面真的很丑,接口调试没成功过,也用过它的markdown、富文本,体验都好差

    apizza:刚开始我以为终于找到一个靠谱的了,但是!响应参数文档在哪填写!!!?另外没有 markdown,没有不限层级目录结构、子参数,最后只能抛弃。

    showdoc:这个是存粹写 markdown 的,虽然可以保存模板,但是用来写 api 文档真的还是太麻烦了,跟写 txt 一样,这种体验,作为懒惰的程序猿是无法忍受的。

    有些人也推荐过我那种直接代码注释生成文档的,我认为这种做法,代码里面会有特别多的注释,你要有请求参数,还要有响应参数,有些参数还是字典类型的,要是层级多了,你根本就不知道怎么表达好,代码会非常丑陋,所以一个编写体方便,体验好,预览效果优雅的文档工具才是我最需要的。

    个人认为,这类开发工具,只有真正的开发者做产品经理,才能做好,才能知道他们想要什么样的效果、功能

    后面自己做了一个,算是我的创业项目,易文档 https://easydoc.xyz,我保证,你用过后,再也不会想用其他的,如果你能找到一个比我们更好的,请一定告诉我们。

    作为程序猿的我们,比较追求极致的输入体验,不服的,可以看下 预览效果, 支持在线接口调试,存为测试用例,一键生成 mock 配置

    52 条回复    2021-03-25 13:34:00 +08:00
    lyric
        1
    lyric  
       2019-03-11 00:54:59 +08:00
    demo 也要注册太过分了吧。
    woncode
        2
    woncode  
       2019-03-11 00:55:25 +08:00 via Android
    跟 swagger 比如何?
    dangyuluo
        3
    dangyuluo  
       2019-03-11 02:35:24 +08:00
    几个链接都打不开
    坐标 37°25'3X.X"N 122°07'2X.X"W
    wzw
        4
    wzw  
       2019-03-11 07:49:10 +08:00 via iPhone
    可以测试接口吗
    balabalaguguji
        5
    balabalaguguji  
    OP
       2019-03-11 08:17:31 +08:00
    @lyric #1 看 demo 不用注册的
    balabalaguguji
        6
    balabalaguguji  
    OP
       2019-03-11 08:25:00 +08:00
    @woncode #2 swagger 是写注释那种的,参数多了会很乱,污染代码,也无法写调用示例、markdown。预览效果也完全没有我们的好看
    balabalaguguji
        7
    balabalaguguji  
    OP
       2019-03-11 08:29:57 +08:00
    @wzw #4 接口测试可以,而且测完还可以保存你的结果(存为测试用例),更方便他人明白接口调用方法,也方便自己保存一些常用的调用结果,比如接口需要登陆后返回的 token,你可以把登陆结果存为测试用例,下次用时直接查看测试用例就知道 token 了
    andychen1
        8
    andychen1  
       2019-03-11 08:47:00 +08:00 via iPhone
    apizza 大法好
    secsilm
        9
    secsilm  
       2019-03-11 08:48:25 +08:00 via Android
    一直在找一个可以直接自动生成 api 文档的工具
    yogogo
        10
    yogogo  
       2019-03-11 08:48:43 +08:00
    apiDoc
    balabalaguguji
        11
    balabalaguguji  
    OP
       2019-03-11 08:49:42 +08:00
    @andychen1 #8 你可以试下我们的,我有信心你不会再用其他的
    balabalaguguji
        12
    balabalaguguji  
    OP
       2019-03-11 08:51:39 +08:00
    @yogogo #10 这个好像是写注释的,不是很适合我,体验也远没我们的好
    x86
        13
    x86  
       2019-03-11 08:59:21 +08:00
    Spoter
        14
    Spoter  
       2019-03-11 09:01:21 +08:00
    gitbook 不好用吗。。。
    balabalaguguji
        15
    balabalaguguji  
    OP
       2019-03-11 09:48:15 +08:00
    @Spoter #14 写 api 文档不适合
    feehey
        16
    feehey  
       2019-03-11 10:01:54 +08:00
    Yapi 真香
    balabalaguguji
        17
    balabalaguguji  
    OP
       2019-03-11 10:56:59 +08:00
    @x86 #13 google 也在用 xyz
    nzzzg
        18
    nzzzg  
       2019-03-11 12:14:05 +08:00
    页面挂了? 进去是个空白页面
    wzw
        19
    wzw  
       2019-03-11 12:15:16 +08:00 via iPhone
    @feehey #16 同意
    balabalaguguji
        20
    balabalaguguji  
    OP
       2019-03-11 12:36:41 +08:00
    @nzzzg 什么浏览器,我们不支持 IE
    jigi330
        21
    jigi330  
       2019-03-11 12:41:43 +08:00 via Android
    挺好看的呀,回头试试
    balabalaguguji
        22
    balabalaguguji  
    OP
       2019-03-11 12:44:46 +08:00
    @feehey
    @wzw
    只支持一层目录结构,子参数也只有 2 层,编写体验不够好,每添加一行都要鼠标点击,预览不够优雅
    不支持自定义参数块,比如我想在请求参数后面增加一个请求说明;在响应参数那里多添加一个失败情况的返回参数块,或者调整参数块的顺序,不够灵活,而这些易文档都支持。
    ericv
        23
    ericv  
       2019-03-11 12:44:55 +08:00
    postman 足够了。。。
    balabalaguguji
        24
    balabalaguguji  
    OP
       2019-03-11 12:46:50 +08:00
    @ericv postman 主要只做接口测试这块的,文档功能很差,我们是文档+测试+测试用例+mock 一体,写完文档可以直接测试,测试完可以直接保存作为 demo,服务端还没开发好接口还可以一键生成 mock 配置,不影响客户端开发
    wzw
        25
    wzw  
       2019-03-11 12:48:13 +08:00
    @balabalaguguji #22 那自动化测试 方面呢
    w516322644
        26
    w516322644  
       2019-03-11 12:48:39 +08:00
    YAPI?
    balabalaguguji
        27
    balabalaguguji  
    OP
       2019-03-11 12:50:08 +08:00
    @wzw #25 这个还在排期开发中,后面会提供
    yixiang
        28
    yixiang  
       2019-03-11 12:51:49 +08:00
    竞品太多,还都免费,不知能盈利否。
    balabalaguguji
        29
    balabalaguguji  
    OP
       2019-03-11 12:56:49 +08:00
    @yixiang #28 当初也是为了自己方便开发的,后面越做越好,就成了产品,说实话,我们现在做的体验是市面第一的,不怕竞争。
    laogui
        30
    laogui  
       2019-03-11 13:04:25 +08:00 via Android
    xyz 域名感觉是那种过几天就打不开的网站
    jabin88
        31
    jabin88  
       2019-03-11 14:08:09 +08:00
    没感觉比其他竞品好,还收费
    chennqqi
        32
    chennqqi  
       2019-03-11 16:15:09 +08:00
    https://app.swaggerhub.com 个人用户免费,github 登录,可以公开可以私有,没发现比这个更好的;
    楼主可以对照一下
    edsheeran
        33
    edsheeran  
       2019-03-11 16:18:24 +08:00 via iPhone
    balabalaguguji
        34
    balabalaguguji  
    OP
       2019-03-11 16:22:57 +08:00
    @chennqqi #32 这个我们对比过了,远没我们的好,我们的个人用户也是免费
    lqzhgood
        35
    lqzhgood  
       2019-03-11 16:28:04 +08:00
    刚好做完一个个人项目~ 试用一下。
    lz 加油哦
    lqzhgood
        36
    lqzhgood  
       2019-03-11 16:35:20 +08:00
    接口描述 我感觉这样排列比较好~

    是否必须 参数类型 参数名 描述

    前面 2 个 宽度基本是一定的。 描述也许会很长。 这样比较对仗工整。

    是否必须 使用 ( 是 /否 ) 或者 多选框的勾选 来显示。 比较干净。
    chennqqi
        37
    chennqqi  
       2019-03-11 16:41:15 +08:00
    @balabalaguguji are you sure?

    听你说的比较好用,我专门注册登录试了一下你的产品。

    给你们的产品提个建议:

    接口文档的有个规范叫 openapi,目前是 3.x 版本,按照这个规范可以导出到多种开发语言
    可以自动 mock

    目前这块儿同类的有 RAML,blueprint 你们都可以对照一些。

    根据我的经验在大厂环境下不支持 swagger/openapi 格式直接可以 pass 了

    淘宝有这么一款开源产品 RAP 和 rap2 你可以了解一下

    可以把同类产品和你的产品特性对比发出来看看哈。

    希望你们越做越好,能把 swaggerhub 替代了,真不想再用 swaggerhub 了,国内访问奇慢无比,但就是没找到更好的。
    balabalaguguji
        38
    balabalaguguji  
    OP
       2019-03-11 16:51:51 +08:00
    @chennqqi #37 你说的规范,那都是数据的格式了,写个脚本转换下就可以了。但是对于用户来说,我们更需要关注编写是否便捷,是否快速,预览时是否够清晰明了。你说的那个是直接写注释的,那种方式很麻烦,代码也会被严重污染,特别是参数多、有多层级参数返回时,一大片都是注释,这种跟写 txt 的感觉是一样的,建议你体验下我们的编写方式,完全不是一个级别的。
    chennqqi
        39
    chennqqi  
       2019-03-12 13:52:41 +08:00
    话不投机,就此打住
    LeonKennedy
        40
    LeonKennedy  
       2019-03-12 23:30:13 +08:00
    歪个题,网站前端用什么做的,服务条款那个页面好漂亮啊,正好有需要拿来用了
    balabalaguguji
        41
    balabalaguguji  
    OP
       2019-03-13 09:59:49 +08:00
    @LeonKennedy #用 vuejs+elementui
    aliangddd
        42
    aliangddd  
       2019-05-16 19:41:05 +08:00 via iPhone
    看着不错
    dNib9U2o8x
        43
    dNib9U2o8x  
       2019-05-29 23:18:58 +08:00
    免费版限制成员和文档数量没问题,但是导入导出都必须付费,这个是不是有点过分了?
    balabalaguguji
        44
    balabalaguguji  
    OP
       2019-05-30 18:31:32 +08:00
    @dNib9U2o8x #43 你得看看别人付出了多少,你又贡献了什么,为什么导入导出付费就过分了?
    dNib9U2o8x
        45
    dNib9U2o8x  
       2019-05-30 19:00:04 +08:00
    @balabalaguguji #44 我作为一个用户需要贡献什么?没有试用上来就充值?本来是要测试下效果,打算导入 swagger 或 postman 看看兼容情况,发现导入要收费,也就没有继续尝试的欲望了
    balabalaguguji
        46
    balabalaguguji  
    OP
       2019-05-31 12:40:35 +08:00
    @dNib9U2o8x 我们的免费版本实际上是很足够用的,免费额度很大;导入 swagger 和 postman 还没支持,如果支持了,这种导入肯定会是免费的。
    playscforever
        47
    playscforever  
       2019-07-18 22:56:02 +08:00
    支持~
    NicholasHsiang
        48
    NicholasHsiang  
       2020-01-11 14:24:54 +08:00
    支持易文档。手头一个项目( apizza → yapi → easydoc ):

    - apizza,

    好的地方:有“全局状态码”,
    不好的地方太多,UI 根本不行,另外最大问题,从数据库字段生成 JSON,导入报错 JSON 格式错误,让人怀疑…果断放弃!

    - yapi

    好的地方:
    0、开源!开源!开源!
    1、导入 JSON 杠杠的,能检测 JSON 是否合法,
    2、加 Mock 很方便,
    3、参数“高级设置”中,加限制条件极其方便,
    4、“预览”超级好,尤其是前端可以直接用生成的结构,
    5、编辑参数时,加节点方便,
    6、请求参数设置很方便,
    7、有是否完成状态,
    8、UI 非常好,限定的非常好。
    9、导出超级好用,

    不好的地方:
    1、不能将常用字段做成模板,非常不好
    2、不能复制参数字段到粘贴板,
    3、接口列表中拖动调整顺序难用

    - easydoc

    好的地方
    1、能将常用字段做成模板,并且可以编辑,太好用!太好用!太好用!
    2、接口列表中拖动调整顺序好用,
    3、预览模式中能复制参数字段到粘贴板
    4、导入 JSON 杠杠的
    不好的地方
    1、Mock 难用,
    2、想开选项卡,打开多了选项卡,…
    3、“添加参数块”,过于灵活,Response、Request * Header、Body 不就好了?
    4、没有完成与否的选项,不知道进度到哪


    使用之后评论:

    对比下来,easydoc “能将常用字段做成模板” 这个功能是出 API 文档时的硬需求,除了这点,完全可以选择开源的 yapi。
    balabalaguguji
        49
    balabalaguguji  
    OP
       2020-01-13 09:53:15 +08:00
    @NicholasHsiang
    1.Mock 是哪里难用?我们可以一键生成 mock 哦,还支持方法、正则表达式,也有各种模板菜单给你选择,可以说编写是非常方便的。
    2.不懂这个什么意思。是编辑页面多 tab ?那个是方便同时打开多个文档,方便切换、复制、参考。
    3.参数块灵活是我们的一大优势,可以适用于不同需求的人,你可以定制出任何想要的模板,把自己模板保存起来,后面都可以根据模板创建 api 文档。
    4.这个我们还没有,但是这个很容易解决,直接增加一个状态图标在标题上就可以了。

    掌握更多易文档的技巧,你可以看下: https://easydoc.top/#/s/31322154/uOeIUcm6/FxVPkaat
    xmsz
        50
    xmsz  
       2021-02-03 15:13:33 +08:00
    Api 文档一般有几类

    1. Json => 自动生成文档类,例如 apiary/coding
    2. 注释 => 自动生成文档(不推荐)
    3. 调试主导类,例如 rap2/postman
    4. 自成一派,例如 swagger
    5. 文档主导类,应该就是 easyDoc 了

    当然还有一些山寨货,例如 apizaza,还有一些 postman 山寨品,就是山寨还敢收费的那种

    目前还在用 YApi,基本能满足 80%的需求
    而比较看好的是 Rap2,有一些针对开发者更友好的功能

    但是上面这两个玩意太开发者了,写文档其实很不舒服

    所以看有没有更好的,楼主这个 EasyDoc 产品就是交互增强版,确实是能解决一部分需求。

    但整体来说还是都没能解决的很完整。

    但是这种工具吧,自己写耗时耗力,用热门的呢,要么国外慢的要死,要么国内又丑又难用

    非常烦恼

    然后回过头来想想到底需求是什么?

    80%解决开发对开发间的问题
    - 接口文档
    - 接口调试
    - 非必须 - Mock

    能满足这些已经足够了,所以综合起来还是 YApi 更好一些,不仅开源基础功能全都有

    但是要是有能解决另外 20%的产品那就更好了

    而 EasyDoc 却走的是另一个方向,即不是在 YApi 上扩展解决剩余 20%的需求。而是走了另一条路,这就导致那 80%的都没做到很好

    但是如果要选择二次开发,肯定还是 Rap2

    还有另外一个问题,就是产品稳定性,YApi 和 Rap2 至少是有大厂支持的,其他产品都是一些韭菜拖着。
    特别像这种工具,我说过解决 80%需求已经够了,所以除非你做得很好,否则根本就是瞎折腾

    能看得出 EasyDoc 目的和做法是很好的,可不知道能走多远。考虑到团队因素。
    除非 EasyDoc 开源,否则一般团队应该是不敢用的。
    anankun
        51
    anankun  
       2021-03-25 11:40:56 +08:00
    私有化部署的刚需,没有这个功能的很难能纳入考虑。
    balabalaguguji
        52
    balabalaguguji  
    OP
       2021-03-25 13:34:00 +08:00
    @anankun #51 私有部署是收费的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     793 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 20:52 PVG 04:52 LAX 12:52 JFK 15:52
    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