是否可以在不编写预请求脚本的情况下重用动态变量值

Is it possible to reuse dynamic variable values without writing a pre-request script

我有一个接受 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() 功能并在沙箱环境中构建请求主体来实现此目的。

将此添加到 POST 请求的 Pre-request Script

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 服务的例子: