跳到主要内容

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。

获取集合 ID

你还可以在 Postman 中找到集合 ID。首先,在边栏中选择收藏集testAPI,然后选择收藏集。信息图标 然后选择右侧栏中的信息图标 以访问集合 ID。

获取环境 ID

在 Postman 中创建一个新请求,GET方法保持选中状态,然后输入以下 URL:https://api.getpostman.com/environments

确保x-api-key使用你的 Postman API 密钥添加 header,然后选择发送。响应窗格显示所有环境的列表。搜索环境testAPIenv并定位值uid

获取环境 ID

你还可以在 Postman 中找到环境 ID。首先,在边栏中选择环境testAPIenv并选择环境。信息图标 然后选择右侧栏中的信息图标 以访问环境 ID。

第 3 步:使用 Postman API 创建模拟服务器

获取集合 ID(以及可选的环境 ID)后,你可以使用 POST Create Mock 端点创建模拟服务器。

首先在 Postman 中新建一个 request,选择POSTmethod,输入如下 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-keyheader,然后选择发送。响应窗格显示所有模拟服务器的列表。搜索testAPImock模拟服务器并找到该mockUrl值。你将使用此 URL 向模拟服务器发送请求。

获取模拟服务器 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-keyheader,因为模拟服务器是公共的,因此选择“发送”以发送请求。响应窗格显示来自模拟服务器的响应。

向模拟服务器发送请求

请注意,响应与你为 保存的示例相同Request 1。那是因为模拟服务器使用示例来创建响应。如果你向集合中添加了更多请求和示例,请使用模拟服务器 URL 和请求路径将它们发送到模拟服务器。

Postman 模拟服务器接受可选的 header,你可以使用这些 header 来自定义模拟服务器如何响应请求。使用这些 header,你可以指定模拟服务器将返回哪些保存的示例。如果没有这些 header,模拟服务器将遵循 匹配算法 来决定在响应中返回哪个示例。

要向请求添加自定义 header,请打开请求并选择“header”选项卡。在 KEY字段中输入自定义 header,然后为 header 输入VALUE 。你可以x-mockKEY字段中键入以查看可用模拟服务器 header 的列表。

向模拟服务器发送请求

匹配一个响应码

使用 headerx-mock-response-code指定返回的响应将匹配的 HTTP 响应代码。例如,500将返回带有 HTTP 500 响应的示例。

匹配响应名称或 ID

使用 headerx-mock-response-nameor 通过匹配保存示例的或x-mock-response-id来指定你希望模拟服务器返回的确切响应。你可以获得示例响应或使用 Postman API 获取 单个集合 并在响应中搜索你的示例。id``name``id``name

匹配请求正文或 header

使用 headerx-mock-match-request-bodyx-mock-match-request-headers通过匹配已保存示例的 header 或正文来指定你希望模拟服务器返回的确切响应。

  • 要启用请求正文匹配,请将 的值设置x-mock-match-request-bodytrue
  • 要启用请求 header 匹配,请包含 headerx-mock-match-request-headers并将其值设置为要在保存的示例中匹配的以逗号分隔的 header 键字符串。header 匹配不区分大小写。

你还可以在模拟服务器配置 中启用正文和 header 匹配。

设置自定义响应延迟

使用 headerx-mock-response-delay为模拟服务器的响应添加延迟。1你可以指定从到毫秒的值180000。收到请求后,模拟服务器在发送响应之前等待指定的时间段。

你还可以在模拟服务器配置 中指定延迟。header 设置的延迟值x-mock-response-delay优先于模拟服务器配置中设置的值。