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