当前位置: 首页 > 知识库问答 >
问题:

Pre-request脚本中的邮递员请求正文

王泓
2023-03-14

我有一个邮递员预请求脚本添加一个HMAC密钥到一个请求。除非身体中有一个环境变量,否则这种方法很有效。所以如果我有下面的身体

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

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

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

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

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

我得到以下信息

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

我怎样才能获得变量被替换的主体,以便它是将被发送到服务器的内容?

共有1个答案

朱皓
2023-03-14

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

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

在您的情况下:

console.log(interpolate(pm.request.body.toString()));
 类似资料:
  • 如何调用POST API请求(具有用户名请求主体的登录API 登录API:POST方法;请求正文:用户名和密码;响应正文:令牌。获取客户记录API:GET方法;请求URI: /token/ 只想在邮递员的一个测试中涵盖这种端到端场景。任何人都可以帮我提供预请求脚本吗?我应该如何调用登录 API?

  • 我使用Postman6.0发送HTTP请求。为了发送请求,我使用请求前脚本获取令牌并将其放入环境中,以便在后续请求中使用它。 下面的脚本不起作用,因为没有发送正文。下面的剧本有什么问题吗?

  • 我有一个对服务器的Authenticate post调用,如下所示: 用这样的尸体: 我总是必须在Postman中执行两次这个Authenticate调用,以正确填充我的全局var“安全令牌”,并在此后的下一次调用中使用该令牌进行身份验证,因此,似乎预请求脚本实际上是在脚本之后运行的,或者是预请求脚本中设置的全局var对当前请求不容易可用? 我做错了什么? 以下是预先请求的SRIPT:

  • 我有一个关于邮递员的共享收藏。当我在共享集合中运行请求时,它失败并显示以下错误: 评估预先请求脚本时出错:错误:意外的令牌 我已经用几个请求试过了,最简单的请求是对“http://localhost:8000/v1/resource”的GET请求,没有参数、授权、头、正文或请求前脚本,仍然会出现上述错误。 检查邮递员的控制台时,我看到以下错误: JSONError:意外令牌' 和上面的那个吻合。

  • 有人能帮助我如何使用以下参数发送POST请求吗: 我试着在《邮递员的身体》中发送一个带有以下参数的: 然而,在发送上述请求时,我得到的位置字符串为null。

  • 我正试着在邮递员上打API。API正在服务器上工作,但我没有收到任何数据。以下是视觉图像: 它是回应我与“没有数据”和400错误的要求。