Запустите скрипт prerequest для уточнения тела запроса.

Я использую post man для отправки запроса post с телом в виде данных формы, которое содержит файлы и текст. Смотрите изображение ниже:

Я хочу json.stringify всего тела, но я не могу понять, как это сделать в сценарии перед запросом. Поскольку переменная окружения может быть только одной частью тела, дополнительные файлы делают ее более сложной.

0 ответов

Я не уверен, что понимаю проблему. В почтальоне запрос является объектом JavaScript. Если вы пытаетесь структурировать запрос, я предполагаю, что вы пытаетесь получить это:

propertyOne=valueOne&propertyTwo=ValueTwo

из этого:

const request = {
    propertyOne: 'valueOne',
    propertyTwo: 'ValueTwo'
};

Простой способ - просто перебрать свойства объекта и записать в строку:

function stringifyRequest(object) {
    let resultString = '';
    for (var property in object) {
        if (object.hasOwnProperty(property)) {
            let tempString = `${property}=${object[property]}`;
            resultString = resultString ? `${resultString}&${tempString}` : tempString;
        }
    }
    return resultString
}

Теперь, если вы хотите получить двоичный файл загружаемого файла, это будет невозможно. Как видно в этой теме:

Мы не предоставляем доступ к содержимому файлов в сценариях перед запросом по нескольким причинам.

  1. Мы хотим отложить загрузку содержимого файла прямо перед отправкой запроса.
  2. Тело запроса фактически не разрешается, пока не завершены сценарии предварительного запроса. Таким образом, даже если бы мы захотели, мы не можем указать фактическое тело запроса в сценариях перед запросом.

Они могут в конечном итоге изменить это, но я не мог найти никаких признаков этого. Один пользователь в этой теме предлагает использовать бессонницу, вы можете проверить ее, если она лучше соответствует вашим потребностям.

Другие вопросы по тегам