Как передать тело запроса Json из одного запроса HttpRequest в качестве значения в следующем HTTP-запросе? - PullRequest
0 голосов
/ 01 мая 2019

Я пытаюсь перехватить полезную нагрузку (в формате JSON), созданную из запроса HTTP, и передать ее в качестве значения для следующего запроса API.

Шаг 1: Создание полезной нагрузки запроса Http. Образец ниже:

{  
   "fdCustomerId":"${cuid}",
   "account":{  
      "type":"CREDIT",
      "credit":{  
         "cardNumber":"ENC_[${Output2}]",
         "nameOnCard":"John Smith",
         "cardType":"${cardtype}",
         "cardSubType": "${cardsubtype}",
         "billingAddress":{  
            "type":"work",
            "country":"US",
            "primary":true
         }
}

Шаг 2: захват окончательной полезной нагрузки в переменную с помощью пост-процессов

var requestBody = ctx.getCurrentSampler().getArguments().getArgument(0).getValue();
vars.put("requestBody", requestBody);
log.info("###########################################Request     Body are:##########" + requestBody);

Step3: передать переменную RequestBody в качестве значения для следующего HTTP-запроса

{ 
 "category": "GBS_ExecMetrics_UCom", 
 "consumed": false, 
 "data": { "Test Case Id": "AB_CMS_006_CC_001_500_", 
         "Account Number": "0001210520779700304", 
         "Primary Card Number": "**${requestBody}**",  
         "Secondary Card Number": "0000377883144114646",  
         "Run Date Time": "03/26/201917:30"}

}

Когда я добираюсь до конечной точки, я получаю сообщение об ошибке ниже:

{"Ошибка": "BadRequest: Пожалуйста, предоставьте действительный Json" ...

Как преобразовать это в строку или включить управляющие символы с помощью функции и передать тело запроса?

1 Ответ

0 голосов
/ 01 мая 2019

Плохо с примером синтаксиса запроса, принятым на шаге 1. Вышеописанные шаги работали как есть.

Исправил синтаксис, как показано ниже, и смог передать JSON. Спасибо.

{  
"fdCustomerId":"${cuid}",

"счет": {
"Тип": "CREDIT", "Кредит": {
"CardNumber": "ENC _ [$ {Выход2}]", "nameOnCard": "Джон Смит", "CardType": "$ {cardtype}", "cardSubType": "$ {cardsubtype}", "BillingAddress": {
«Тип»: «работа», «Страна»: «США», «Первичный»: правда } } } }

...