有没有人用过 Apifox,是不是可以扔掉 Postman 了? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
apifox
V2EX    推广

有没有人用过 Apifox,是不是可以扔掉 Postman 了?

  •  
  •   apifox 2020-06-18 11:59:09 +08:00 17159 次点击
    这是一个创建于 1946 天前的主题,其中的信息可能已经有所发展或是发生改变。

    1 、Apifox 定位

    Apifox = Postman + Swagger + Mock + JMeter

    通过一套系统、一份数据,解决多个系统之间的数据同步问题。只要定义好接口文档,接口调试、数据 Mock 、接口测试就可以直接使用,无需再次定义;接口文档和接口开发调试使用同一个工具,接口调试完成后即可保证和接口文档定义完全一致。高效、及时、准确!

    2 、Apifox 功能

    1. 接口文档定义:Apifox 遵循 OpenApi 3.0 (原 Swagger)、JSON Schema 规范的同时,提供了非常好用的可视化文档管理功能,零学习成本,非常高效。
    2. 接口调试:Postman 有的功能,比如环境变量、预执行脚本、后执行脚本、Cookie/Session 全局共享 等功能,Apifox 都有,并且和 Postman 一样高效好用。
    3. 数据 Mock:内置 Mock.js 规则引擎,非常方便 mock 出各种数据,并且可以在定义数据结构的同时写好 mock 规则。支持添加“期望”,根据请求参数返回不同 mock 数据。最重要的是 Apifox 零配置 即可 Mock 出非常人性化的数据,具体在本文后面介绍。
    4. 接口自动化测试:提供接口集合测试,可以通过选择接口(或接口用例)快速创建测试集。目前接口自动化测试更多功能还在开发中,敬请期待!目标是:JMeter 有的功能基本都会有,并且要更好用。
    29 条回复    2022-08-23 09:52:40 +08:00
    qW7bo2FbzbC0
        1
    qW7bo2FbzbC0  
       2020-06-18 12:36:39 +08:00
    生成 swagger 文档不是 web 框架的工作吗?
    sunmker
        2
    sunmker  
       2020-06-18 13:18:56 +08:00
    有没有人用过你?
    learningman
        3
    learningman  
       2020-06-18 13:50:35 +08:00
    lzyroot
        4
    lzyroot  
       2020-06-18 14:04:01 +08:00
    广东友文信息科技有限公司,会收集 api 吗
    apifox
        5
    apifox  
    OP
       2020-06-18 14:07:18 +08:00
    我们是前后端同步进入开发的。开发流程是:
    1 、前端(或后端)在 Apifox 上定好接口
    2 、前后端一起评审接口、填好用例
    3 、前端使用 Apifox 定好的接口 Mock 数据进入开发
    4 、后端使用 Apifox 调试接口,调试通过了,接口就开发完了
    5 、后端开发完后,测试使用 Apifox 的 [集合测试] 功能,测试完整的接口调用流程
    6 、前后端开发完,前端更换到正式数据,基本联调都会非常顺利,因为前后端双方都完全遵守了接口定义
    ming61177
        6
    ming61177  
       2020-06-18 14:10:23 +08:00
    如果我用 RAP2 + Postman 你这个有啥优势。。。。
    apifox
        7
    apifox  
    OP
       2020-06-18 14:10:35 +08:00
    我们以前是开发人员都用 Postman 来调试接口,但是没人愿意写接口文档,没有接口文档,前端开发就很痛苦,所以我们就想“如果有个类似 Postman 这样的工具,可以做到接口调试完了,就自动保存成接口文档,那该有多美好”

    然后就整出了这个 Apifox,同时做了非常多提升开发团队效率的工作,举个简单的例子:

    Apifox 如何做到高效率、零配置生成非常人性化的 mock 数据?

    1. Apifox 根据接口定义里的数据结构、数据类型,自动生成 mock 规则。
    2. Apifox 内置智能 mock 规则库,根据字段名、字段数据类型,智能优化自动生成的 mock 规则。如:名称包含字符串`image`的`string`类型字段,自动 mock 出一个图片地址 URL ;包含字符串`time`的`string`类型字段,自动 mock 出一个时间字符串;包含字符串`city`的`string`类型字段,自动 mock 出一个城市名。
    3. Apifox 根据内置规则,可自动识别出图片、头像、用户名、手机号、网址、日期、时间、时间戳、邮箱、省份、城市、地址、IP 等字段,从而 Mock 出非常人性化的数据。
    4. 除了内置 mock 规则,用户还可以自定义规则库,满足各种个性化需求。支持使用 `正则表达式`、`通配符` 来匹配字段名自定义 mock 规则。
    apifox
        8
    apifox  
    OP
       2020-06-18 14:15:12 +08:00
    @ming61177

    [接口管理现状]

    一、常用解决方案

    1. 使用 Swagger 管理接口文档
    1. 使用 Postman 调试接口
    1. 使用 RAP Mock 数据
    1. 使用 JMeter 做接口自动化测试

    二、存在的问题
    维护不同工具之间数据一致性非常困难、非常低效。并且这里不仅仅是工作量的问题,更大的问题是多个系统之间数据不一致,导致协作低效,频繁出问题,开发人员痛苦不堪。

    1. 开发人员在 Swagger 定义好文档后,接口调试的时候还需要去 Postman 再定义一遍。
    1. 前端开发 Mock 数据的时候又要去 RAP 定义一遍,手动设置好 Mock 规则。
    1. 测试人员需要去 JMeter 定义一遍。
    1. 前端根据 RAP Mock 出来的数据开发完,后端根据 Swagger 定义的接口文档开发完,各自测试测试通过了,本以为可以马上上线,结果一对接发现各种问题:原来开发过程中接口变更,只修改了 Swagger,但是没有及时同步修改 RAP 。
    1. 同样,测试在 JMeter 写好的测试用例,真正运行的时候也会发现各种不一致。
    6. 时间久了,各种不一致会越来越严重。

    三、Apifox 就是为解决这个问题而生的
    ming61177
        9
    ming61177  
       2020-06-18 14:30:36 +08:00
    1 、Swagger 跟 RAP 是重叠的,只会选择一个
    2 、RAP 也支持 Swagger 导入 或者 Postman 导出
    3 、确定接口的定义方,比如后台开发人员或者前后台共同协商后制定接口,在 RAP 上也直接 Mock 了,接口锁定,前端与后端或接口测试都共同使用 RAP,但是修改接口参数的权限只有一个人,并不会带来管理上的混乱吧?
    hantsy
        10
    hantsy  
       2020-06-18 14:50:14 +08:00
    @apifox 这种流程倒是可以推的。

    和 CDC ( Consumer Driven Contract )理论上有几份相似,协议优先的 API 设计方法。

    Pact 也有专有的 Server 可以先运行事先定义 Contract 生成的 API,Consumer 和 Producer 端 分别实现。
    apifox
        11
    apifox  
    OP
       2020-06-18 14:51:47 +08:00
    @ming61177 建议下载一个 Apifox 体验下,相信你用的会喜欢上的。
    hantsy
        12
    hantsy  
       2020-06-18 14:52:11 +08:00
    PostMan 我好多年没用了,不过有邮件订阅,好像现在也开始做 API 设计方面的工具( Contract 优先,先出 Mocking API )。
    cumt21g
        13
    cumt21g  
       2020-06-18 15:45:32 +08:00
    问题还很多啊, 导入 /导出生成的 md 有点不知所谓了,
    生成代码里一堆 undefined
    apifox
        14
    apifox  
    OP
       2020-06-18 16:00:21 +08:00
    @cumt21g 加 Apifox 官网的联系方式,帮你解决
    hehe22
        15
    hehe22  
       2020-06-29 11:01:40 +08:00   2
    必须登录才能用,呵呵,还取代 postman
    caryxiao
        16
    caryxiao  
       2020-06-29 15:14:01 +08:00
    不能离线使用吗?能否保证不收集用户隐私数据, 接口这种东西是很敏感的。
    canzyp
        17
    canzyp  
       2020-06-29 17:55:18 +08:00
    下载完想体验下,让我注册,我就卸载了
    vxlol
        18
    vxlol  
       2020-06-29 21:49:06 +08:00
    为什么不能离线使用?是为了方便收集大家的 API 吗~~~?
    vxlol
        19
    vxlol  
       2020-06-29 21:49:40 +08:00
    @apifox 为什么不能离线使用?是为了方便收集大家的 API 吗~~~?
    apifox
        20
    apifox  
    OP
       2020-07-02 15:40:36 +08:00
    @vxlol 离线功能已经在规划中了

    后续功能规划

    1. 接口性能测试支持(类似 JMeter )
    2. 支持离线使用,项目可选择在线同步(团队协作)还是仅本地存储(单机离线使用)
    3. 提供私有化部署方案


    另外:Apifox 的 [环境] 里的变量可以设置 [本地值] ,本地值只保存在本地,不会同步到云端,token 、账号、密码之类的敏感数据适合放在 [本地值]
    apifox
        21
    apifox  
    OP
       2020-07-02 15:43:43 +08:00
    @caryxiao @canzyp 关于离线功能的说明如上。离线功能已经在规划中,token 、账号、密码之类的敏感信息使用 [本地值]功能(不会同步到云端)
    lvchaa
        22
    lvchaa  
       2020-07-03 15:53:44 +08:00
    用了一段时间, 很赞! 良心软件
    lusun
        23
    lusun  
       2020-07-07 17:03:10 +08:00
    @apifox 下载看了,做的很好,但感觉你们想要加的功能太多了,反而让人觉得很不舒适。
    fastzhong
        24
    fastzhong  
       2020-07-09 11:28:37 +08:00
    开源啊,测试,mock,等,很多需要根据项目定制,随着 api,微服务满天飞,这个有很广阔的应用场景。
    fastzhong
        25
    fastzhong  
       2020-07-09 11:36:40 +08:00
    xzjs
        26
    xzjs  
       2020-07-21 15:48:38 +08:00
    @apifox 用了一下还是很喜欢的,现在问题是 swagger 嵌套的返回识别不了,有办法让它识别么
    jangit
        27
    jangit  
       2020-08-07 18:03:09 +08:00
    好用+1,弄了一下午在 docker 上安装 yapi 没搞掂,换上这个马上上手了,可惜没有像 yapi 这样的离线部署
    howaworld
        28
    howaworld  
       2022-07-07 20:22:03 +08:00
    厂家广告贴,鉴定完毕
    tldzyx
        29
    tldzyx  
       2022-08-23 09:52:40 +08:00
    正好今天尝试 Apifox, 结论是继续用 postman, 原因很简单, 公司开发机是没有上网权限的, Apifox 直接卡在首页登录, 根本没法用, 对比之下 postman 不登录也是可以用的, 所以其实是没得选.
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2740 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 14:48 PVG 22:48 LAX 07:48 JFK 10:48
    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