Отправка запроса без указания полей в теле - PullRequest
2 голосов
/ 29 марта 2020

Я пытаюсь отправить несколько запросов PUT на указанную конечную точку c.

Я использую файл CSV в столбцах и значениях, имена разных столбцов ссылаются на разные переменные внутри тело, вы меня понимаете?

Это конечная точка:

{{URL_API}} / products / {{sku}} --sku - это идентификатор продукта, я создал эту переменную, потому что я использую ее для передачи ссылки

Это тело, которое я использую:

{
    "price":"{{price}}",
    "tax_percentage":"{{tax_percentage}}",
    "store_code":"{{store_code}}",
    "markup_top":"{{markup_top}}",
    "status":"{{status}}",
    "group_prices": [
        {
            "group":"{{class_a}}",
            "price":"{{price_a}}",
            "website":"{{website_a}}"
        }
    ]
}

Я больше не хочу использовать тело .. иногда некоторые продукты имеют более чем 1 группу цен, я имею в виду:

    "group_prices": [
        {
            "group":"{{class_a}}",
            "price":"{{price_a}}",
            "website":"{{website_a}}"
        },
        {
            "group":"{{class_b}}",
            "price":"{{price_b}}",
            "website":"{{website_b}}"
        }

Возможно ли создать что-то подобное в файле CSV?

sku, requestBody

99RE345GT, {JSON Полезная нагрузка}

Как мне объявить {JSON Полезная нагрузка}?

Можете ли вы мне помочь?

РЕДАКТИРОВАТЬ: Это CSV-файл, который я использовал:

sku, цена, tax_percentage, store_code, markup_top, статус, class_a, price_a, website_a 95LB645R34ER, 147000, US-21, B2BUSD, 1.62,1, КЛАСС A, 700038.79, B2BUSD

Я хочу передать JSON в файле CSV, я имею в виду

sku , requestBody

95LB645R34ER, {"price": "147000", "tax_percentage": "US-21", "store_code": "B2BUSD", "markup_top": "1.62", "status": " 1 "," group_prices ": [{" group ":" CLASS A "," price ":" 700038.79 "," website ":" B2BUSD "}]}

Это нормально? Должно я указываю что-нибудь в теле запроса или нет? Я прочитал документацию, размещенную на сайте POSTMAN, но я не нашел такого примера.

1 Ответ

1 голос
/ 29 марта 2020

Поскольку вы используете данные JSON в качестве полезной нагрузки, я бы использовал файл JSON, а не файл CSV в сборщике сборов. Используйте его в качестве шаблона и сохраните его как data.json, он в правильном формате, принятом в Runner.

[
    {
        "sku": "95LB645R34ER",
        "payload": {
            "price": "147000",
            "tax_percentage": "US-21",
            "store_code": "B2BUSD",
            "markup_top": "1.62",
            "status": "1",
            "group_prices": [
                {
                    "group": "CLASS A",
                    "price": "700038.79",
                    "website": "B2BUSD"
                }
            ]
        }
    },
    {
        "sku": "MADEUPSKU",
        "payload": {
            "price": "99999",
            "tax_percentage": "UK-99",
            "store_code": "BLAH",
            "markup_top": "9.99",
            "status": "5",
            "group_prices": [
                {
                    "group": "CLASS B",
                    "price": "88888.79",
                    "website": "BLAH"
                }
            ]
        }
    }
]

В pre-request Script запроса добавьте этот код. Он создает новую переменную local из данных под ключом payload в файле данных. Данные должны быть преобразованы в строку, поэтому для этого используется JSON.stringify().

pm.variables.set("JSONpayload", JSON.stringify(pm.iterationData.get('payload'), null, 2));

В Request Body добавьте следующее:

{{JSONpayload}}

В Collection Runner, выберите коллекцию, которую вы хотите запустить, а затем выберите файл data.json, который вы ранее создали. Запустите коллекцию.

Collection Runner

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...