Представьте себе следующие переменные среды:
Base-URL
=>https://my.website.com/api
Cars-URL
=>{{Base-URL}}/cars
Auth-URL
=>{{Base-URL}}/login
Если я использую GET {{Cars-URL}}
в почтальоне, он работает нормально и вызывает https://mu.website.com/api/cars
То же самое касается POST {{Auth-URL}}
, он отлично работает, и я получаю токен JWT.
Однако я хотел бы использовать сценарии предварительного запроса моей коллекции для автоматического получения токена JWT перед любым вызовом в коллекции. Поэтому я использую следующую настройку:
var authUrl = pm.environment.get("Auth-URL");
pm.sendRequest({
url: authUrl,
method: "POST",
header: { ... },
body: { ... },
function (err, res) {
pm.environment.set("JWT-token", res)
}
});
Я получаю на своей консоли следующий вывод:
POST http://{{base-url}}/login
Error: getaddrinfo ENOTFOUND {{base-url}}
Ocp-Apim-Subscription-Key: xxxxxxxxxxxxxxx
User-Agent: PostmanRuntime/7.26.5
Accept: */*
Postman-Token: xxxxxxxxxxxxxxx
Host: {{base-url}}
Accept-Encoding: gzip, deflate, br
Кажется, что pm.environment.get
не разбирает вложенную переменную.
Как решить эту проблему?
base-url
? В вашем примере у вас естьBase-URL
в качестве имени. - person Danny Dainton   schedule 30.10.2020