Postman Flows 是 Postman 中用于创建 API 工作流的可视化工具。如下图所示:
在 Postman Flows 中,我们可以连接多个接口请求,数据处理和真实的工作流。下面,我们来介绍下 Postman Flows 的核心概念和用法。
一句话描述
Postman Flows 由 块 和 连线组成。块用来执行具体的任务,连线用来表明块被调用的前后关系。
块(Blocks)
块是用于创建流的基本单位。每个块都有特定的目的,例如执行任务、创建数据、转换数据等等。每个块都有输入、输出或两者都有。块和块之间可以传递数据。
块的类型主要有三种:
- 任务块: 执行特定的异步任务。
- 数据块: 创建特定类型的数据。
- 逻辑块: 对数据执行操作以进行转换。
下面介绍几个常用的块。
开始块
开始块是 Flow 执行的入口。可以在开始块上设置数据,给后面的块用。
发送请求块
发送请求块用来发送 API 请求。该块支持传入变量值。支持对请求的 成功 和 失败 做不同的后续处理。
选择块
选择块用来解析数据流,以选择可用数据的子集。比如,某个接口返回这样的:
{
"data": {
"url": "/path-to-site"
}
}
要获取返回中的的 url 的值,在选择块中,填入值:/data/url
。
评估块(Evaluate)
评估块用来执行语句,将执行的结果做为输出,给其他块用。语句的语法需要遵循语法:FQL。
If 块
If 块用来做条件判断。对条件值的 true 和 false 做不同的后续操作。
Log 块
Log 块将信息输出到控制台。
更多块的信息,见 Postman Flows blocks。
创建 Flows
创建 Flows :在 我的工作空间 > Flows。
运行 Flows
在 Flows 详情,点击底部工具栏里的 Run按钮 运行。
常见场景
场景1: 串行的调用接口
实现如下:
- 创建多个 发送接口块。
- 串行接口,只需将上一个 发送接口块 的 Success 连接到下一个 发送接口块 的Send。如下图所示:
场景2: 将上一个接口数据传递到下一个接口
实现如下:
- 创建 发送接口块。
- 创建 选择块 。连接到上一步的发送接口块,选择需要传递到下一个接口的数据。
- 创建接收数据的 发送接口块。连接上一步的选择块的数据。
搭建出的效果,如下图所示:
以上就是关于 Postman Flows 的介绍,更多信息,请参阅 Postman 官方文档。
比 Postman 更好用的 API 工具:Apifox
以上我们学习了如何安装 Postman Flows,虽然 Postman 被广泛用于 API 调试,但它只解决了 Web 开发中 API 管理这个大难题的一小部分。更多的问题还有待解决,比如在多个工具之间频繁切换(API 设计工具 Swagger、API 测试工具 JMeter)经常会导致数据不一致和团队协作低效率:
前端开发者: 前端开发者通常必须根据 API 定义编写脚本从而 mock 数据。在使用 Postman 时,他(她)们可能无法判断 API 设计是否已被更改,这会增加调用实际 API 时的失败率。
后端开发者: 后端开发人员通常希望设计 API 并进行代码变更,且无需在不同工具之间切换。Postman 只解决了 API 调试方面的问题,并没有解决跨工具数据不一致的更大问题,导致了重复工作。
测试人员: 测试人员经常使用 JMeter 等工具进行 APi 测试,必须将 API 信息从 Postman 复制到 JMeter 中。如果开发人员中途修改了 API 定义,测试人员可能不知道,从而导致测试过程出错。
问题来了 ,是否有一个平台可以让前端、后端和测试人员在 API 项目上高效地协同工作呢?
有的,那就是:Apifox。
Apifox 是一个比 Postman 更强大的接口测试工具,Apifox = Postman + Swagger + Mock + JMeter,Apifox 支持调试 http(s)、WebSocket、Socket、gRPC、Dubbo 等协议的接口,并且集成了 IDEA 插件。在开发完接口后,可以通过 Apifox 的 IDEA 插件一键生成接口文档,多端同步,非常方便测试和维护。
Apifox 与 Postman 的对比
Apifox | Postman |
---|---|
Apifox 是一个基于云的平台,允许开发人员从任何位置访问并测试其 API,无需在计算机上安装任何软件。当然 Apifox 也为主流操作系统提供了客户端版本。 | Postman 是一个必须安装在计算机上的独立应用程序,这可能限制了要从多个位置工作的开发人员的可访问性。 |
Apifox 提供了一个视觉上吸引人且易于使用的界面,使开发人员能够轻松调试接口和生成文档。 | Postman 具有更复杂的界面,需要以代码为重点,这可能提高了部分开发者的使用门槛。 |
Apifox 还提供了协作功能和团队管理,允许开发人员和他人共享测试和接口文档,并共同处理项目。 | Postman 可能会消耗大量资源,尤其是在处理大量数据集时可能会减慢计算机的速度,这可能会对需要运行多个测试或者使用大型 API 集合的开发人员造成挑战。 |
Apifox 提供了无限的自定义选项配置,并且更加灵活。 | Postman 提供了比较有限的自定义选项,例如自定义外部变量,响应头 Header 以及脚本。 |
与 Postman 相比,Apifox 解决了在多个工具间频繁切导致的数据不一致问题,让一个 Apifox 即可完成 API 文档、API 调试、API Mock、API 自动化测试等工作。
Apifox 还提供了更易于使用的可视化界面,使开发人员能够轻松调试接口和生成文档,使得开发人员和他人可以方便地共享测试和接口文档,共同处理项目。
与只支持有限自定义配置项的 Postman 对比,Apifox 提供了无限的自定义选项配置,更加灵活。对于那些想要使用新工具去提升开发水平的团队来说,Apifox 一定是个明智之选。
知识扩展: