Postman API Mock
设置 模拟服务器 使你能够模拟真实 API 的行为以用于开发或测试目的。在 Postman 中,你可以通过添加示例和创建模拟服务器来 模拟集合。 你还可以使用 Postman API 自动执行设置模拟服务器的过程。按照以下步骤操作,亲身体验如何使用 Postman API 模拟集合。
第 1 步:设置用于模拟的集合
在 Postman 中, 创建一个 名为testAPI
. 或者,你也可以 创建一个 名为testAPIEnv
. 对于此演示,你将设置一个模拟服务器,使你能够模拟集合中的每个端点testAPI
并查看它们的响应。
向集合中 添加新请求 testAPI
。在下面的示例中,集合有一个名为 的请求Request 1
,该请求将GET
请求发送到https://postman-echo.com/get?test=123
。如果你愿意,请随时添加更多请求。
打开集合中的第一个请求并选择发送以发送请求。然后,在响应窗格中,选择Save Response > Save as example。对集合中的每个请求重复此过程。你的模拟服务器将使用这些 保存的示例 来返回模拟数据。
你可以 编辑示例 以包含你希望模拟端点返回的特定响应正文、header 或状态代码。一个请求可以有多个示例,在这种情况下,模拟服务器将遵循一种 匹配算法 来决定返回哪个示例。
第 2 步:检索集合 ID
要使用 Postman API 模拟集合,你首先需要知道集合 ID。testAPI
你可以使用 Postman API 的 GET All Collections 端点检索集合的 ID 。 如果你创建了一个环境,你还需要使用 GET All Environments 端点检索其 ID 。
获取集合 ID
在 Postman 中创建一个新请求,GET
方法保持选中状态,然后输入以下 URL:https://api.getpostman.com/collections
如果你发送请求,你将收到身份验证错误。要 使用 Postman API 进行身份验证 ,请x-api-key
向你的请求添加 header 并将其值设置为你的 Postman API 密钥。(如果你还没有 一个新的 Postman API 密钥,你可以生成一个。)
选择发送以发送GET All Collections
请求。响应窗格显示所有集合的列表。搜索集合testAPI
并找到uid
值。你将在下一步中使用此集合 ID。
你还可以在 Postman 中找到集合 ID。首先,在边栏中选择收藏集
testAPI
,然后选择收藏集。 然后选择右侧栏中的信息图标 以访问集合 ID。
获取环境 ID
在 Postman 中创建一个新请求,GET
方法保持选中状态,然后输入以下 URL:https://api.getpostman.com/environments
确保x-api-key
使用你的 Postman API 密钥添加 header,然后选择发送。响应窗格显示所有环境的列表。搜索环境testAPIenv
并定位值uid
。
你还可以在 Postman 中找到环境 ID。首先,在边栏中选择环境
testAPIenv
并选择环境。 然后选择右侧栏中的信息图标 以访问环境 ID。
第 3 步:使用 Postman API 创建模拟服务器
获取集合 ID(以及可选的环境 ID)后,你可以使用 POST Create Mock 端点创建模拟服务器。
首先在 Postman 中新建一个 request,选择POST
method,输入如下 URL:https://api.getpostman.com/mocks
接下来,将以下原始JSON 代码添加到请求的Body 选项卡,替换你的集合 ID 和环境 ID:
{
"mock": {
"name": "testAPImock",
"collection": "<your-collection-id>",
"environment": "<your-environment-id>"
}
}
默认情况下,模拟服务器是公共的,可以接收来自任何人和任何地方的请求(例如浏览器、应用程序代码或命令
curl
)。如果你不想公开模拟服务器,请将此行添加"private": true
到请求正文中。
x-api-key
与往常一样,请确保使用你的 Postman API 密钥添加 header。准备就绪后,选择“发送”以将请求发送到 Postman API 并创建模拟服务器。
第 4 步:获取模拟服务器 URL
要向模拟服务器发送请求,你需要知道模拟服务器 URL。 你可以使用 GET All Mocks 端点检索模拟服务器 URL 。在 Postman 中创建一个新请求,GET
方法保持选中状态,然后输入以下 URL:https://api.getpostman.com/mocks
使用你的 Postman API 密钥添加x-api-key
header,然后选择发送。响应窗格显示所有模拟服务器的列表。搜索testAPImock
模拟服务器并找到该mockUrl
值。你将使用此 URL 向模拟服务器发送请求。
你还可以在 Postman 中找到模拟服务器 URL。在边栏中选择模拟服务器
testAPI
,选择模拟服务器,然后选择复制 URL。
第 5 步:向模拟服务器发送请求
你已准备好使用你的集合模拟请求。要向模拟服务器发送请求,请使用模拟服务器 URL 并附加请求路径:{{mockURL}}/path
Request 1
通过在集合中进行模拟来亲自尝试testAPI
。在 Postman 中创建一个新请求,GET
为该方法保留选中状态。对于请求 URL,输入你的模拟服务器 URL 并附加请求中的路径:
https://<your-mock-server-url>/get?test=123
无需添加x-api-key
header,因为模拟服务器是公共的,因此选择“发送”以发送请求。响应窗格显示来自模拟服务器的响应。
请注意,响应与你为 保存的示例相同Request 1
。那是因为模拟服务器使用示例来创建响应。如果你向集合中添加了更多请求和示例,请使用模拟服务器 URL 和请求路径将它们发送到模拟服务器。
Postman 模拟服务器接受可选的 header,你可以使用这些 header 来自定义模拟服务器如何响应请求。使用这些 header,你可以指定模拟服务器将返回哪些保存的示例。如果没有这些 header,模拟服务器将遵循 匹配算法 来决定在响应中返回哪个示例。
要向请求添加自定义 header,请打开请求并选择“header”选项卡。在 KEY字段中输入自定义 header,然后为 header 输入VALUE 。你可以x-mock
在KEY字段中键入以查看可用模拟服务器 header 的列表。
匹配一个响应码
使用 headerx-mock-response-code
指定返回的响应将匹配的 HTTP 响应代码。例如,500
将返回带有 HTTP 500 响应的示例。
匹配响应名称或 ID
使用 headerx-mock-response-name
or 通过匹配保存示例的或x-mock-response-id
来指定你希望模拟服务器返回的确切响应。你可以获得示例响应或使用 Postman API 获取 单个集合 并在响应中搜索你的示例。id``name``id``name
匹配请求正文或 header
使用 headerx-mock-match-request-body
或x-mock-match-request-headers
通过匹配已保存示例的 header 或正文来指定你希望模拟服务器返回的确切响应。
- 要启用请求正文匹配,请将 的值设置
x-mock-match-request-body
为true
。 - 要启用请求 header 匹配,请包含 header
x-mock-match-request-headers
并将其值设置为要在保存的示例中匹配的以逗号分隔的 header 键字符串。header 匹配不区分大小写。
你还可以在模拟服务器配置 中启用正文和 header 匹配。
设置自定义响应延迟
使用 headerx-mock-response-delay
为模拟服务器的响应添加延迟。1
你可以指定从到毫秒的值180000
。收到请求后,模拟服务器在发送响应之前等待指定的时间段。
你还可以在模拟服务器配置 中指定延迟。header 设置的延迟值
x-mock-response-delay
优先于模拟服务器配置中设置的值。