【问题标题】:Multiple inputs - trying to send several request (http method: PUT)多个输入 - 尝试发送多个请求(http 方法:PUT)
【发布时间】:2020-03-22 13:58:39
【问题描述】:

我想向端点发送不同的 JSON:

{{URL_API}}/products/{sku}

我需要更新一些与不同产品相关的信息,所以我需要在端点内指定产品,我的意思是,即:

如果您访问此特定端点:{{URL_API}}/products/,您将获得所有产品我需要指定要更新的产品:

{{URL_API}}/products/99RE345GT

看看这个,我想发送一个这样的 JSON:

{
    "sku": "99RE345GT",
    "price": "56665.0000",
    "status": 1,
    "group_prices": [
        {
            "group": "CLASS A",
            "price": 145198.794
        },
        {
            "group": "CLASS B",
            "price": 145198.794
        },
        {
            "group": "CLASS C",
            "price": 145198.794
        }
    ]
}

还有一个这样的(两个 JSON 共享相同的结构,但信息不同):

{
    "sku": "98PA345GT",
    "price": "17534.0000",
    "status": 1,
    "group_prices": [
        {
            "group": "CLASS A",
            "price": 145198.794
        },
        {
            "group": "CLASS B",
            "price": 145198.794
        },
        {
            "group": "CLASS C",
            "price": 145198.794
        }
    ]
}

我该怎么做?。我已经为每个产品生成了 200 多个 JSON..

所以,我必须更新 200 个产品,所以我为每个产品生成一个 JSON,你明白吗?

按照我的示例,我需要(以某种方式)编辑每个产品的端点并发送 JSON,即:

因为第一个 JSON 有 SKU:99RE345GT,它应该在这个端点上执行 http 方法:PUT

{{URL_API}}/products/99RE345GT

然后,由于第二个 JSON 具有 SKU:98PA345GT,它应该在此端点上执行 http 方法:PUT

{{URL_API}}/products/98PA345GT

我以前从未做过这样的事情。我读过一些关于 CSV + POSTMAN runner 的内容,但我不明白这种方式。

编辑 我正在处理一个文件(Excel 文件),我这样做了:

所以现在我为每种产品提供了所有不同的 JSON。

编辑#2。验证 de Request_URL 时失败

我这样做了: 1)我创建了一个新集合

2)我把 this Request_url: {{URL_API}}/products/{{sku}}

3)我保存了更改,然后我去了 Collector Runner:

4)点击运行按钮后。我收到此错误消息:

无效的网址:

【问题讨论】:

    标签: json rest postman multiple-input


    【解决方案1】:

    您是否尝试将这些数据集添加到 CSV?

    https://learning.postman.com/docs/postman/collection-runs/working-with-data-files/

    如果 CSV 文件中有 2 个列标题,一个带有 sku,另一个带有 requestBody - 将该变量值添加到 PUT 请求的请求正文而不是 JSON。

    sku,requestBody
    99RE345GT, {JSON Payload}
    98PA345GT, {...} 
    

    在这些标题下添加几个值开始,一旦你证明它在集合 Runner 中有效。

    满意后,将其余部分添加到文件中。您可能需要在预请求脚本中对 JSON 进行一些解析,但它应该可以工作。

    或者,在 PUT 请求正文中使用此模板,这将创建一个列标题与 {{...}} 语法中的值相同的 CSV。数据文件中的值将解析为请求正文中的值。

    {
        "sku": "{{sku}}",
        "price": "{{price}}",
        "status": {{status}},
        "group_prices": [
            {
                "group": "{{groupA}}",
                "price": {{groupAPrice}} 
            },
            {
                "group": "{{groupB}}",
                "price": {{groupBPrice}}
            },
            {
                "group": "{{groupC}}",
                "price": {{groupCPrice}}
            }
        ]
    }
    

    CSV 可能如下所示:

    sku,price,status,groupA,groupAPrice,...
    99RE345GT,1234,1,Group A, 555
    98PA345GT,1235,1,Group A, 666
    

    【讨论】:

    • 谢谢你的回复,伙计..我去看看!
    • 我稍后会用一个工作示例更新答案,但它应该是直截了当的。请记住将请求保存在构建器中,因为没有它,运行器将不知道请求的任何更改/更新。
    • 嘿朋友,谢谢你:)。我正在处理一个文件(Excel 文件),现在我有 2 列.. 一个带有 SKU,另一个带有 JSON(我已经编辑了线程)。我尝试遵循此链接中给出的想法:learning.postman.com/docs/postman/collection-runs/… 但我失败了 :(。您能帮帮我吗?接下来我该怎么做?将 Excel 文件转换为 CSV?然后呢?
    • 它应该是 .csv 文件格式,因为跑步者只能识别 CSV 和 JSON 文件。学习中心链接上应该有该格式的示例。
    • 看看这张图片:imgur.com/a/70hQ843 我希望 POSTMAN “读取”我的 CSV 文件并使用每个 JSON 自动更新每个产品。我按照你给我的指示做了,但我什么也没得到:(
    猜你喜欢
    • 1970-01-01
    • 2013-07-05
    • 2022-07-26
    • 2019-03-07
    • 1970-01-01
    • 1970-01-01
    • 2014-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多