0

我想从邮递员模拟服务器返回动态响应。
当邮递员中的模拟 URL 命中时,我们得到请求正文,我想从请求正文中获取字段值并将值返回给响应。

模拟网址:{{url}}/customer
RequestBody:

{
    "Id": 47896,
    "name": userName
}

我想在响应正文中发送 Id 值:

{
    "Id":47896
}

我们正在我们的项目中创建随机 Id 值,并在请求正文中使用该值点击模拟 URL。
每次调用模拟 URL 后 id 值都会不同。我们正在处理 Id 值,如果它不匹配,那么我们会抛出一个错误。
无论如何要处理请求正文?
在邮递员文档中,我没有找到任何确凿的解决方案。

4

1 回答 1

0

有一个限制,您只能在 postman 应用程序中使用动态值,而不能在 newman 中使用。

https://github.com/postmanlabs/newman/issues/2565

在邮递员应用程序中,您可以:

将模拟服务器中的响应设置为:

   {
      "id":{{id}}
   }

选择模拟服务器的环境:

在此处输入图像描述

单击编辑并选择环境。

在此处输入图像描述

启用持久变量值设置

在此处输入图像描述

请注意,这将使用您pm.environment.set("name",valu")在脚本中设置的值更新初始值和当前值。

现在通过 pre-reuest 脚本设置环境变量 id:

pm.environment.set("id",5)

输出

在此处输入图像描述

笔记:

您应该发送两次请求,第一次是环境与云同步

第二个是获得更新的响应,所以尝试在实际请求之前发送一个虚拟请求。

在旧应用程序中它工作正常,现在看起来你需要两个请求。

于 2021-02-10T09:52:26.163 回答