我正在尝试捕获从HTTP请求创建的有效负载(以JSON格式)并将其作为值传递给下一个API请求。
第一步:创建Http请求有效负载。下面的示例:
{
"fdCustomerId":"${cuid}",
"account":{
"type":"CREDIT",
"credit":{
"cardNumber":"ENC_[${Output2}]",
"nameOnCard":"John Smith",
"cardType":"${cardtype}",
"cardSubType": "${cardsubtype}",
"billingAddress":{
"type":"work",
"country":"US",
"primary":true
}
}
Step2:使用后期处理将最终的有效负载捕获到变量中
var requestBody = ctx.getCurrentSampler().getArguments().getArgument(0).getValue();
vars.put("requestBody", requestBody);
log.info("###########################################Request Body are:##########" + requestBody);
第3步:将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” ...
如何将其转换为字符串或在函数中包含转义符并传递请求正文?
答案 0 :(得分:0)
我对第1步中采用的示例请求语法很不好,以上步骤均按原样进行。
更正了以下语法,并能够传递json。谢谢。
{
"fdCustomerId":"${cuid}",
“帐户”:{
“ type”:“ CREDIT”,
“信用”:{
“ cardNumber”:“ ENC _ [$ {Output2}]”,
“ nameOnCard”:“ John Smith”,
“ cardType”:“ $ {cardtype}”,
“ cardSubType”:“ $ {cardsubtype}”,
“ billingAddress”:{
“ type”:“工作”,
“ country”:“ US”,
“主要”:true
}
}
}
}