URL кодирует переменную Postman?
Я использую Postman для тестирования API REST и тесты параметризации с глобальными переменными.
Я должен поместить номер телефона в запрос GET: /path/get?phone={{phone}}
, но ведущий +
номер телефона будет интерпретироваться как пробел.
Каков синтаксис URL для кодирования глобальных переменных в Postman? Возможно ли запустить JS encodeURIComponent()
по переменной в URL?
Ответы
Ответ 1
Используйте Pre-request scripts
(рядом с body
) для этого:
var encoded = encodeURIComponent({{phone number}});
или же
var encoded = encodeURIComponent(postman.getEnvironmentVariable("phone number"));
и для продолжения используйте:
postman.setEnvironmentVariable("encoded phone number", encoded);
И установите ваш URL /path/get?phone={{encoded phone number}}
Ответ 2
Хитрость заключается в том, чтобы получить переменную среды в сценарии перед запросом и затем установить ее после ее кодирования
var encoded = encodeURIComponent(pm.environment.get("phone"));
pm.environment.set("encoded phone number", encoded);
Ответ 3
Я опоздал, но все еще стоит:
Просто выделите и щелкните правой кнопкой мыши ту часть URL, которую вы хотите кодировать. Выберите encodeURIComponent
Вот оно.
![enter image description here]()
Ответ 4
Нажмите кнопку Params, чтобы открыть редактор данных для параметров URL. Когда вы добавляете пары ключ-значение, почтальон объединяет все в строке запроса выше. Если у вашего URL уже есть параметры - например, если вы вставляете URL из какого-либо другого источника. Почтальон автоматически разбивает URL на пары. https://www.getpostman.com/docs/v6/postman/sending_api_requests/requests