Различные заголовки запроса для среды - PullRequest
0 голосов
/ 26 января 2019

Я использую функцию среды почтальона, но одна среда не должна иметь один из заголовков запроса.Обычно отправлять дополнительный ненужный заголовок запроса было бы безвредно, но в моем уникальном случае это фактически разрывает запрос, в результате чего конечная точка возвращает 401.

Заголовки почтальона (нажмите ссылку;извините, у меня еще нет 10 представителей для размещения встроенного изображения)

Допустим, у меня есть среда "Dev" и среда "Prod".Когда я выбираю Dev из выпадающего списка сред, мне нужны ключ и значение "need-me-for-dev-only".Но когда я выбираю Prod, я вообще не хочу, чтобы этот ключ / значение отправлялся в запросе.

Это, конечно, можно сделать, сняв отметку с этого элемента заголовка.Однако затем я должен переключить среды и не забыть проверять или снимать флажок по мере необходимости.

Я попытался установить пустое значение для переменной (в Prod в этом примере), но наличие ключа без значения вызываетневерный заголовок.

Accept: application/json
need-me-for-dev-only:

Я попытался просто не иметь эту переменную среды для Prod, но затем он буквально отправляет имя переменной, включая рули

Accept: application/json
need-me-for-dev-only: {{dev-environment-variable}}

в заголовке (захвачено в fiddler).

Возможно ли без сценариев иметь заголовки запросов для среды?Если нет, я буду исследовать сценарии как решение моей проблемы.

1 Ответ

0 голосов
/ 26 января 2019

Этого можно добиться с помощью Почтальона, используя сценарии предварительного запроса и небольшую хитрость.

Прежде всего, убедитесь, что в вашей среде Dev есть переменная "Environment", и установите для нее значение "dev".

Теперь, для вашего запроса, в Pre-request Script добавьте что-то вроде этого:

let environment_name = postman.getEnvironmentVariable("Environment"); 

if(environment_name === "dev"){
    postman.setGlobalVariable("need-me-for-dev-only-key", "need-me-for-dev-only"); 
    postman.setGlobalVariable("need-me-for-dev-only-value", "your_value"); 
} else {
    postman.setGlobalVariable("need-me-for-dev-only-key", "something_else"); 
    postman.setGlobalVariable("need-me-for-dev-only-value", "something_else");
}

По сути, вы устанавливаете пары ключ-значение заголовка в зависимости от среды. Если это «dev», мы устанавливаем заголовок need-me-for-dev-only. В противном случае мы установим произвольные заголовки, которые в конечном итоге будут игнорироваться вашим API.

Теперь в разделы запроса Headers можно добавить следующее:

Accept: application/json
{{need-me-for-dev-only-key}}: {{need-me-for-dev-only-value}}

Вот и все.

Надеюсь, это имело смысл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...