这里我将响应对象存储在环境变量中。
let res = pm.response.json();
postman.setEnvironmentVariable('currentUser', JSON.stringify(res));
res对象具有一个称为“ userId”的属性
在另一个请求正文中,我想将userId设置为currentUser对象中存储的值。像这样的东西。
"userId": "{{currentUser.userId}}",
但这没用。
转换为JSON也不起作用。
"userId": "{({JSON.parse(currentUser)).userId}}",
在邮递员中可以这样做吗?
编辑
对象中有许多用于其他不同请求的属性。我在想,如果我只保存对象并在需要时传递它们,而不是为每个变量创建环境变量。这就是背后的原因。
答案 0 :(得分:1)
这样的事情会为您做同样的事情吗?
let userId = pm.response.json().userId
pm.environment.set('currentUser', userId)
然后像这样使用它:
"userId": "{(userId}}"
不确定在数据中为单个值存储整个响应的背后原因是什么。
修改
您可以将其添加到第二个请求的Pre-request Script
中:
pm.environment.set("userId", JSON.parse(pm.environment.get('currentUser')).userId)
然后以与上述相同的方式在POST
请求正文中引用它。