В POSTMAN, как я могу получить подстроку элемента заголовка ответа?
Я использую почтальон, чтобы получить значение заголовка ответа, как показано ниже:
var data = postman.getResponseHeader("Location") . //value is "http://aaa/bbb" for example
Я могу напечатать значение через console.log(data)
без труда.
Однако, что я действительно хочу, так это "bbb". Так что мне нужно немного substring()
тип функции. И, очевидно, "данные" не является строковым типом JavaScript, потому что data.substring(10)
например, всегда возвращать ноль.
Кто-нибудь, что мне нужно сделать в этом случае?
Существует ли какой-нибудь документ по API почтальона, который это объясняет?
1 ответ
Здесь у вас под рукой полная гибкость JavaScript, поэтому просто разделите строку и используйте часть после последней /
:
var data = pm.response.headers.get("Location").split("/").pop());
См. Документацию школы W3 по split и pop, если вам нужны более подробные примеры внутреннего устройства JavaScript.
Вы можете установить переменную окружения в почтальоне. попробуй что-то вроде
var data = JSON.parse(postman.getResponseHeader("Location"));
postman.setEnvironmentVariable("dataObj", data.href.substring(10));
Некоторая первоначальная мысль - мне нужна была определенная часть заголовка "Местоположение", такая как OP, но я также должен был получить конкретное значение из этой конкретной части. Мой заголовок будет выглядеть примерно так
И мне нужно, чтобы значение "состояния" передавалось следующему запросу в виде переменной.
var location_header = pm.response.headers.get("Location");
var attributes = location_header.split('&');
console.log(attributes);
var len = attributes.length;
var state_attribute_value = ""
var j = 0;
for (var i = 0; i < len; i++) {
attribute_key = attributes[i].split('=')[0];
if (attribute_key == "state") {
state_attribute_value = attributes[i].split('=')[1];
}
j = j + 1;
}
console.log(state_attribute_value);
pm.environment.set("state", state_attribute_value);
Возможно, вы уловили, что "split" - это выбор, чтобы дать вам некоторый массив значений. Если текст, который вы разделяете, всегда имеет одинаковую длину массива, должно быть легко поймать правильный номер