预请求脚本中的邮递员请求正文

时间:2019-11-15 12:24:49

标签: postman

我有一个邮递员预先请求脚本,用于向请求添加HMAC密钥。除非身体中具有环境变量,否则此方法效果很好。所以如果我有以下身体

{
    "key": "{{key}}",
    "value": "some value"
}

发送请求时,将键值设置为 sample 时,正文包含以下内容

{
    "key": "sample",
    "value": "some value"
}

这是我期望发生的事情。但是,在预请求脚本中访问请求正文时,

console.log(pm.request.body.toString());

我得到以下内容

{
    "key": "{{key}}",
    "value": "some value"
}

如何获取替换后的变量的主体,以便将其发送到服务器?

1 个答案:

答案 0 :(得分:1)

您可以使用以下函数对占位符进行插值:

function interpolate (value) {
    const {Property} = require('postman-collection');
    return Property.replaceSubstitutions(value, pm.variables.toObject());
}

在您的情况下:

console.log(interpolate(pm.request.body.toString()));