#postman
#postman
Вопрос:
Я пытаюсь отправить следующий (буквальный) текст в теле запроса в Postman:
{
"message": "Hi {{USERNAME}} your code is {{CODE}}"
}
Однако в моей среде Postman у меня есть переменная USERNAME, поэтому Postman заменяет значение переменной, и следующее попадает в мой серверный сервер (обратите внимание, что у меня нет переменной CODE в Postman):
{
"message": "Hi username_value_in_postman your code is {{CODE}}"
}
Итак, я ищу способ избежать или игнорировать синтаксис переменной Postman, чтобы он отправлял буквальную строку. Я просмотрел документы и так далее, но не нашел ничего полезного для моей проблемы, поэтому буду признателен за любую помощь.
Ответ №1:
Экранирование, похоже, не работает, поэтому я предполагаю, что вам нужно либо переименовать свои переменные, либо использовать сценарии предварительного запроса и тестирования:
В сценарии Pre-resuqest вы можете написать этот код:
pm.variables.set('usernameBackup', pm.variables.get('USERNAME'));
pm.environment.unset('USERNAME');
И вы снова устанавливаете переменную среды в сценарии тестирования:
pm.environment.set('USERNAME', pm.variables.get('usernameBackup'));
pm.variables.unset('usernameBackup');
Комментарии:
1. Это отлично работает для конкретного заданного вопроса, и для моего локального варианта использования для тестирования это идеально, спасибо. Досадно, что когда я нажимаю на фактический сервер, переменная {{USERNAME}} используется для аутентификации в Postman, поэтому это решение нарушит мою аутентификацию. Мне просто придется смириться с этим и переименовать свои переменные в долгосрочной перспективе. Еще раз спасибо
2. Не могу отредактировать комментарий выше, но откажитесь от моего последнего утверждения. Вы, конечно, можете использовать сценарии предварительного запроса для ручной сборки заголовка auth, что позволяет сэкономить некоторое утомительное переименование ради 1 запроса.
3. Это смешно. Действительно ли мне нужно переименовывать переменную перед отправкой ее буквального имени в строке, потому что у Postman нет собственного способа избежать этого? Абсолютно нелепо.
4. @RenanLazarotto: Я немного поиграл с этим и не нашел другого способа. Возможно, с тех пор это было решено. Было бы неплохо, если бы экранирование работало, но, с другой стороны, это не распространенный вариант использования, поэтому, вероятно, это не главный приоритет для команды Postman.
5. Похоже, что @pavelsaman имеет место. Я был раздражен, потому что мне нравится синтаксис с двойными фигурными скобками, и я не хотел его менять. Я сдался и решил использовать другой синтаксис, просто проще.