Нередко разработчики бэкенда используют Postman при написании кода. В этой статье мы изучим одну полезную функцию Postman, которая может сократить время, затрачиваемое на разработку.
Полезность. Скачивайте книгу API Testing and Development with Postman.PDF
Большинство API сегодня используют формат JSON для тела запроса. А JSON не допускает комментариев, записанных в формате //...
или /*...*/
. В процессе разработки может потребоваться закомментировать некоторые части запроса или добавить какое-то описание к полям или всему запросу.
Когда мы добавляем комментарии В Postman и пытаемся вызвать API, это приводит к ошибке. Отсюда возникает вопрос: есть ли какие-то обходные пути для решения этой проблемы?
UPD. В апреле 2023 года Postman представил поддержку комментариев. Таким образом, если вы пользуетесь новейшей версией Postman, то дополнительные действия, описанные в этой статье, больше не нужны. Узнайте больше на blog.postman.com.
Многие из вас уже знают, что в Postman есть секция под названием Pre-request Script. Она предназначена для запуска некоторого JavaScript-кода перед выполнением запроса к API. Мы можем просто добавить в этот раздел код, который будет получать тело запроса и удалять из него все комментарии перед отправкой запроса к API. Код приведен ниже:
console.log('Running pre-request script...'); const stripComments = jsonBody => jsonBody.replace(/\\"|"(?:\\"|[^"])*"|(\/\/.*|\/\*[\s\S]*?\*\/)/g, (m, g) => g ? "" : m); json = stripComments(pm.request.body.toString()); console.log(json); pm.request.body=json; console.log('Pre-request script is executed!');
Этот простой код извлекает тело из запроса, удаляет все комментарии, а затем устанавливает это новое тело в запрос:

Мы можем протестировать его с помощью тестового API Postman:

Запись лога можно найти в консоли Postman:

Полную коллекцию Postman вы можете найти на GitHub.
Заключение
Итак, чтобы добавить комментарий в теле запроса в JSON, можно использовать функцию Pre-request Script. В ней мы прописываем некоторый JavaScript-код, который запускается перед выполнением запроса к API. Мы добавили в этот раздел код, получающий тело запроса и удаляющий из него все комментарии перед отправкой запроса к API.
Перевод статьи «JSON request body comments in Postman».
Пингбэк: Большой учебник по Postman