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

如何验证请求前脚本中的POST请求正文所需参数?

禹正阳
2023-03-14

在我的请求正文中,几乎没有JSON原始数据中需要的参数,我希望在Postman中的请求前脚本中验证这些参数是否存在于正文中。

{
  "stores": [
    {
      "city": "Tokyo",
      "name": "Church Street"
      ....
      ....
    }
  ]
}

如何检查请求正文中是否传递了cityname

共有1个答案

凌黎明
2023-03-14

可以在预请求脚本中使用pm.test函数和pm.expect断言。

由于Postman随Lodash一起提供,您可以使用沙盒中的_.get()函数从stores数组获取数据。您需要使用json.parse()_.get()函数中正确分配来自请求正文的数据。

let requestBody = _.get(JSON.parse(pm.request.body.raw), 'stores[0]')

pm.test("Check Body", () => {
    pm.expect(requestBody).to.have.keys(['city', 'name'])
})

或者像这样没有罗达什的东西:

let requestBody = JSON.parse(pm.request.body.raw)

pm.test("Check Body", () => {
    pm.expect(requestBody.stores[0]).to.have.keys(['city', 'name'])
})
 类似资料:
  • 我正试图根据API验证自己。这个API使用来自请求的原始主体来创建哈希,它将使用该哈希对我的令牌进行身份验证。 出于测试目的,我使用postman和一个请求前脚本来创建哈希。一切都很好,只有一个例外: 在代码选项卡中,我有 谢了!

  • 我们正在使用JAX RS为我们的一个项目实现一个REST API。要求是用户将以JSON格式传入请求对象。 让我们假设我们有一个在命中APIendpoint时调用的方法 示例请求对象: { “firstName”:“Test”, “lastName”:“Name”, “sno”:“A123” } 吸气剂和setter 现在,如果用户尝试向上面给出的请求对象添加其他参数(例如:“age”)并调用ap

  • 我有一个REST API使用POST调用来创建记录,我希望在POST调用中传递某些对象,如果缺少任何东西,我必须直接拒绝它们的唯一, 但是,当使用丢失的属性进行Post调用时,我可以在MongoDB中创建一个条目,我不想保留它,因为这不是一个正确的请求,@validation对我来说不起作用,我正在使用spring boot 2.0.6和MongoDB 4.0.4,任何帮助都非常感谢。提前感谢

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

  • 如何在处理正文请求之前验证身份验证? 我正在使用vertx: 我想在处理正文请求之前验证身份验证。但我得到了错误的java。lang.IllegalStateException:请求已被读取 使用暂停功能上的延迟复制: 当运行delay(100)时(这是验证过程的示例),我得到了上面的错误。如果我对延迟(100)进行注释,它可以正常工作。

  • 问题内容: 我想通过PHP 在Blogger博客中添加帖子。Google提供了以下示例。如何在PHP中使用它? 您可以通过向带有帖子JSON正文的帖子集合URI发送POST请求来为博客添加帖子: 问题答案: 您需要使用cURL库发送此请求。 如果由于某种原因您不想/不想使用cURL,可以这样做: