使用 Postman API 模拟

设置模拟服务器使您能够模拟真实 API 的行为以用于开发或测试目的。在 Postman 中,您可以通过添加示例和创建模拟服务器来模拟集合。您还可以使用Postman API自动化设置模拟服务器的过程。按照下面的步骤来获得如何使用 Postman API 模拟集合的动手演示。

内容

第 1 步:设置用于模拟的集合

在 Postman 中,创建一个名为testAPI. 或者,您还可以创建一个名为testAPIEnv. 对于此演示,您将设置一个模拟服务器,使您能够模拟testAPI集合中的每个端点并查看它们的响应。

testAPI集合添加新请求。在下面的示例中,该集合有一个名为的请求,该请求Request 1GET请求发送到https://postman-echo.com/get?test=123。如果您愿意,请随时添加更多请求。

打开集合中的第一个请求,然后选择发送以发送请求。然后,在响应窗格中,选择Save Response > Save as example。对集合中的每个请求重复此过程。您的模拟服务器将使用这些保存的示例返回模拟数据。

响应保存为示例

您可以编辑示例以包含您希望模拟端点返回的特定响应正文、标头或状态代码。一个请求可以有多个示例,在这种情况下,模拟服务器将遵循匹配算法来决定返回哪个示例。

第 2 步:检索集合 ID

要使用 Postman API 模拟集合,您首先需要知道集合 ID。您可以使用Postman API的GET All Collections端点检索testAPI集合的 ID。如果您创建了一个环境,您还需要使用GET All Environments端点检索其 ID。

获取收藏ID

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

如果您尝试发送请求,您将收到身份验证错误。要使用 Postman API 进行身份验证,请在您的请求中添加一个x-api-key标头并将其值设置为您的 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 密钥添加标头,然后选择Send。响应窗格显示所有环境的列表。搜索testAPIenv环境并找到uid值。

获取环境 ID

您还可以在 Postman 中找到环境 ID。首先,在左侧边栏中选择EnvironmentstestAPIenv并选择环境。然后选择右侧上下文栏中的信息图标信息图标以查看 ID。

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

现在您有了集合 ID(以及可选的环境 ID),您可以使用POST Create Mock端点来创建一个模拟服务器。

首先,在 Postman 中新建一个请求,选择POST方法,输入如下 URL:https://api.getpostman.com/mocks

接下来,将以下原始JSON 代码添加到请求的Body选项卡,替换您的集合 ID 和环境 ID:

{
  "mock": {
    "name": "testAPImock",
    "collection": "<your-collection-id>",
    "environment": "<your-environment-id>"
  }
}

默认情况下,模拟服务器是可公开访问的。如果您不希望模拟服务器公开,请将该行添加"private": true到请求正文中。

与往常一样,请确保x-api-key使用您的 Postman API 密钥添加标头。准备就绪后,选择发送以将请求发送到 Postman API 并创建模拟服务器。

创建模拟服务器

第 4 步:获取模拟服务器 URL

要将请求发送到您的模拟服务器,您需要知道模拟服务器的 URL。您可以使用GET All Mocks端点检索模拟服务器 URL 。在 Postman 中创建一个新请求,GET为方法保留选中状态,然后输入以下 URL:https://api.getpostman.com/mocks

使用 Postman API 密钥添加x-api-key标头,然后选择Send。响应窗格显示所有模拟服务器的列表。搜索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-key标头,因为模拟服务器是公共的,因此只需选择发送即可发送请求。响应窗格显示来自模拟服务器的响应。

向模拟服务器发送请求

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

添加可选的请求标头

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

匹配响应码

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

匹配响应名称或 ID

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

匹配请求正文或标头

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

  • 要启用请求正文匹配,请将 的值设置x-mock-match-request-bodytrue

  • 要启用请求标头匹配,请包含标头x-mock-match-request-headers并将其值设置为要与保存的示例匹配的标头键的逗号分隔字符串。标头匹配不区分大小写。