我有一个接受 json 的请求。在请求的正文中,我想使用同一个动态变量两次。例如:
{
"description": "{{$randomFirstName}}'s Home",
"first_name": "{{$randomFirstName}}",
"first_name": "{{$randomLastName}}",
"more_fields": "..."
}
但是,当我希望值相同时,简单地重复上述变量会导致描述和first_name 字段的名字不同。
我怎样才能实现这个目标。我认为在预请求脚本中应该是可能的,尽管如果有办法做相当于
{
"description": "{{firstName=$randomFirstName}}'s Home",
"first_name": "{{firstName}}",
"first_name": "{{$randomLastName}}",
"more_fields": "..."
}
如果不用预先请求脚本,我可能更喜欢这样。
最佳答案
您可以通过使用 .replaceIn() 来实现此目的函数并在沙箱环境中构造Request Body。
将此添加到 POST 请求的预请求脚本
:
let firstName = pm.variables.replaceIn("{{$randomFirstName}}")
let requestBody = {
"description": `${firstName}'s Home`,
"first_name": `${firstName}`,
"last_name": "{{$randomLastName}}",
"more_fields": "..."
};
pm.variables.set("requestBody", JSON.stringify(requestBody));
在请求正文中,添加不带引号的变量:
{{requestBody}}
当您发送请求时,它将解析变量并使用相同的名字。
以下是使用 Postman-echo 服务的示例:
关于postman - 是否可以在不编写预请求脚本的情况下重用动态变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60754282/