3

我正在使用邮递员 7.34.0

现在我正在测试使用 Postman 为请求创建模拟服务器和模拟数据。

经过一番研究,我仍然没有在模拟数据中做出灵活的反应。

我有更新 api,我将设置 pathParams、queryParams 和 body 来更新数据。

所以我希望我的模拟数据响应包含更新请求中的一些数据。

我还检查了这个Postman Mock Data,它具有以下描述以在响应中使用 {{userId}}。

在此处输入图像描述

例如 PUT {baseUrl}/:ouId/:customerServiceId 在此处输入图像描述

所以我添加了模拟示例来响应如下: 在此处输入图像描述

但是当我发送更新请求时,我得到如下: 在此处输入图像描述

我想知道我做错了还是邮递员不支持这些功能?

并且还想知道邮递员是否支持模拟响应以进行脚本编写。我刚刚看到'Pre request script'和'Test'可以写脚本。对于模拟示例,似乎只能添加静态数据而无法编写脚本来构建假响应数据结构。

4

1 回答 1

3

更新:

您可以对模拟服务器使用动态变量,请忽略以前的答案

你要做的是:

1)在您的示例中将标题设置为:

Content-Type : application/json

在此处输入图像描述

2)现在在示例正文中,将您想要的响应作为 json 给出:

在此处输入图像描述

3)现在在环境变量中为此创建变量和值:

在此处输入图像描述

4)现在编辑模拟服务器并确保选择此环境作为模拟服务器的环境:

编辑: 在此处输入图像描述

添加:

在此处输入图像描述

并保存它。

模拟服务器的输出:

在此处输入图像描述

忽略以下答案:

如果您阅读文档:

https://learning.postman.com/docs/designing-and-developing-your-api/mocking-data/matching-algorithm/

您可以在示例的响应中使用相同的变量来使用它们捕获的值。以相同的示例,您可以为相同的示例添加请求正文,如下所示:

这将从具有相同变量名称的通配符段捕获的值传递到响应中。

所以只有在 url 通配符中捕获的变量才会被传递给响应。路径变量不是普通变量,因此不能在模拟响应中设置,而是您可以

网址为: {{url}}/test/{{myuuid}}

在正文中,您可以将其称为 {{myuuid}}

其中 myuuid 是在全局、集合、环境、数据或本地范围内定义的变量

你可以看到我的模拟服务器响应体在环境变量中有 myuuid 变量 defiend 的值:

在此处输入图像描述

于 2020-11-22T11:14:04.573 回答