Нравится мне работать с Postman при работе с API и тестах своих контроллеров.

И как-то прекрасным днем, пришлось написать большой JSON кусок и отправить для запроса. Он состоял из набора uuid и мне хотелось в разных версиях данных пометить, как для человека, что там за ними скрывается.

Есть комментарии подумал я, и быстро набросал:

// Не используйте 42 в полях
{
    "key": "value", //описание поля, заметки
    "yet-another-key": true //true for truth
}

Да, это не тот запрос-монстр, а просто пример.

😭 Но такой запрос сервер не принял, так и сказал - мне ваши комментарии синтаксически не нужны. Присылайте без них.

🆗🆗🆗

Не вопрос, есть в Postman Pre-request Script. JS скрипт, который исполняется перед запросом. Там и можно очистить запрос от комментов.

Postman Pre-request Script

Копируй скрипт и вставляй:

// Strip JSON Comments
if (pm?.request?.body?.options?.raw?.language === 'json') {
    const rawData = pm.request.body.toString();
    const strippedData = rawData.replace(
        /\\"|"(?:\\"|[^"])*"|(\/\/.*|\/\*[\s\S]*?\*\/)/g,
        (m, g) => g ? "" : m
    );

    pm.request.body.update(JSON.stringify(JSON.parse(strippedData)));
}

Скрипт распаковывает json в строку, далее удаляет комментарии и обновляет тело запроса.

НО, но, но…

Не сразу после этого взлетело, на меня ругались что формат переданных данных не application/json, а text/plain. Хотя в postman в Headers был установлен формат Content-Type. Скорее, после манипуляций формат ломался.

Решается добавлением своего параметра в Headers

Content-Type : application/json

Setup headers

✨ Красота! Теперь можно немного расслабить мозг и не запоминать, за что отвечают наборы нечитаемых значений в json.