如果想在 V2EX 获得更好的推广效果,欢迎了解 PRO 会员机制:
https://www.v2ex.com/pro/about

如果你经常使用铜币置顶主题,持有 V2EX Solana Token 会在每日签到时获得额外铜币:
https://www.v2ex.com/solana
apifox
V2EX  ›  推广

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

  •  
  •   apifox · Jun 18, 2020 · 17914 views
    This topic created in 2182 days ago, the information mentioned may be changed or developed.

    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 replies    2022-08-23 09:52:40 +08:00
    qW7bo2FbzbC0
        1
    qW7bo2FbzbC0  
       Jun 18, 2020
    生成 swagger 文档不是 web 框架的工作吗?
    sunmker
        2
    sunmker  
       Jun 18, 2020
    有没有人用过你?
    learningman
        3
    learningman  
       Jun 18, 2020
    lzyroot
        4
    lzyroot  
       Jun 18, 2020
    广东友文信息科技有限公司,会收集 api 吗😂
    apifox
        5
    apifox  
    OP
       Jun 18, 2020
    我们是前后端同步进入开发的。开发流程是:
    1 、前端(或后端)在 Apifox 上定好接口
    2 、前后端一起评审接口、填好用例
    3 、前端使用 Apifox 定好的接口 Mock 数据进入开发
    4 、后端使用 Apifox 调试接口,调试通过了,接口就开发完了
    5 、后端开发完后,测试使用 Apifox 的 [集合测试] 功能,测试完整的接口调用流程
    6 、前后端开发完,前端更换到正式数据,基本联调都会非常顺利,因为前后端双方都完全遵守了接口定义
    ming61177
        6
    ming61177  
       Jun 18, 2020
    如果我用 RAP2 + Postman 你这个有啥优势。。。。
    apifox
        7
    apifox  
    OP
       Jun 18, 2020
    我们以前是开发人员都用 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
       Jun 18, 2020
    @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  
       Jun 18, 2020
    1 、Swagger 跟 RAP 是重叠的,只会选择一个
    2 、RAP 也支持 Swagger 导入 或者 Postman 导出
    3 、确定接口的定义方,比如后台开发人员或者前后台共同协商后制定接口,在 RAP 上也直接 Mock 了,接口锁定,前端与后端或接口测试都共同使用 RAP,但是修改接口参数的权限只有一个人,并不会带来管理上的混乱吧?
    hantsy
        10
    hantsy  
       Jun 18, 2020
    @apifox 这种流程倒是可以推的。

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

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

    后续功能规划

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


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