Postman Flows,9.0.4版本之后上线。是一个创建API工作流的可视化工具。您可以使用Flows在Postman工作区中链接请求、处理数据和创建真实的工作流。
一、核心概念
1.Blocks
用于创建流的原子块。每个块都有一个特定的目的,通过执行任务、创建数据、转换数据等等来完成繁重的工作。
基本原理
每个块都有一个输入和输出。您可以将消息包(参见“消息”)从一个块传递到另一个块。块可以执行任务、具有价值或运行操作(参见“块的类型”)
区块说明
所有区块,大概有以下这些内容。不是全部拥有,有的区块可能只有输入输出。
- 1.区块的名称
- 2.运行状态
- 3.展开区块查看更多配置和信息
- 4.选项菜单-包含块的其它选项(比如编辑、复制和删除)
- 5.深蓝色,必需输入端口。需要另一个块的连接才能执行
- 6.浅蓝色,非必需输入端口
- 7.输出端口,发送块处理结果的位置
- 8.中心块,是块的快速配置区域
- 9.信号输入,一旦连接,在信号端口变高之时,阻止执行给定块
- 10.信号输出,类似于“信号输入”,当块完成处理时,发出高信号的信号输出端口
块的类型
如下图方法,我们可以添加所需要的Blocks。
所有可供选择的Blocks类型如下:
2.Messages
消息是单个数据包。消息可以是简单的字符串或数字,也可以是大型复杂的数据结构,如用户列表,或者可能是整个电影。
像List这样的数据结构也可以转换为Streams,可以由块异步处理。
当消息从一个块流到另一个块时,实际数据不会移动,但会传递指向消息的指针。
3.Connections
connections:连接将块链接在一起,并将消息从一个块发送到另一个块。块可以连接到多个其他块,以创建更复杂的流。(连接传输数据)
连接不存储数据,它们只是传输。
如果给定的输入具有现有消息,则在给定的块完成其处理之前,它不会接受新消息。
当两个连接连接到同一个输出时,会向每个连接的输入发送重复的消息。
当两个连接连接到同一输入并且都有消息时,它们不会被合并,块会以循环robbin方式处理每条消息。
signals:信号允许块一个接一个地连续运行,而不必将数据从一个传输到另一个(信号不传输数据)。当块“A”完成一项任务时,它向块“B”发送一个信号,开始其给定的任务。通常,块执行并行进行,但可能需要在其他块完成执行之前停止块的执行。在这种情况下,该信号可用于暂停执行和同步。
二、用法实例
1.按顺序运行请求
如果您有一堆简单的请求,它们彼此之间没有依赖关系,但必须按照特定的顺序执行,您可以通过使用信号连接块来实现
1)先添加几个没关联的请求
2)连接请求
3)运行flows
2.用数据链接请求
一个非常常见的用例是从一次响应中获取数据,并将其传输到另一个请求。让我们考虑一个例子,在这个例子中,我们想创建一个帖子,然后在下一个请求中使用该帖子的id来更新它。
1)创建两个请求,并把第一个请求的结果输出与下一个请求的输入参数相连接
2)添加输出块,可以查看前一个请求的response结果的内容
3)如第二步所示,我们可以通过body.id来取id。通过header.Content-Type的方式来请求头类型
4)运行并查看结果
3.使用访问令牌-耐用
一个非常常见的用例是从请求中获取访问令牌,并使用该令牌对流中的许多其他请求进行身份验证。这段短视频将向您介绍“耐久性”的概念,使Flows中的这一点变得非常简单。
1)使用发送请求块创建或检索访问令牌
2)添加更多需要令牌工作的请求
3)将第一个请求的访问令牌标记为持久的Create durable
4)在所有相关请求中使用访问令牌