Постоянный результат динамического значения
У меня есть цепочка запросов, которые проходят через многошаговую транзакцию. Я хочу сгенерировать значение для orderId и itemId в первом запросе и повторно использовать значения в каждом последующем запросе.
Я использовал расширение Chance для генерации каждого из этих идентификаторов в первом запросе.
В последующих запросах я использую динамическое значение Request Parsed Body и ссылаюсь на атрибут JSON, где был создан каждый из этих идентификаторов.
Вместо того, чтобы возвращать значение из первого запроса, он генерирует новый идентификатор, используя расширение Chance.
Мои API требуют, чтобы эти два значения были согласованы в группе запросов. Как я могу сделать это правильно?
ПРИМЕЧАНИЕ. Я также попытался сделать это со значениями, определенными в среде, полагая, что среда будет оценена один раз, но это также приводит к разным значениям при каждом запросе в группе.
Я могу создать собственное расширение, чтобы приспособиться к этому, но я не уверен, как лучше всего подойти к проблеме. Совет будет оценен.
1 ответ
Мы только что опубликовали 5 новых динамических значений, которые позволят вам повторно использовать случайные значения, отправленные в заголовках, параметрах URL, теле и URL запроса. Вот ссылка: https://luckymarmot.com/paw/extensions/?extension_type=dynamic_value&q=sent
Предполагая, что у вас есть:
- Запрос А
- Запрос B (B требует некоторого значения от A)
Решение состоит в том, чтобы получить значение из последнего HTTPExchange из A.
Единственный способ сделать это на данный момент - через пользовательское динамическое значение (встроенный JS)
function evaluate(context){
const otherRequest = context.getRequestByName('Request A')
const lastExtrange = otherRequest.getLastExchange()
return JSON.parse(lastExtrange.requestBody).email // to get the body
return lastExtrange.getRequestHeaderByName('X-some-header-from-a')
};
Это может быть помещено в запрос B, где вы хотите значение от A:
Для справки API см.: HTTPExchange