在下面的 Postman 预请求脚本中,我需要在发出实际的 Postman 请求之前调用多个请求。
首先,它将调用会话API来检索会话id
在会话ID是成功的,然后我需要调用客户登录,使用户登录。
因此,我在我的postman prerequest脚本中做了以下更改,但客户登录请求中的LocalSessionId未定义。
const sessionRequestData = {
url: "http://myurl.com/session",
method: 'POST',
header: { 'content-type': 'application/json' },
body: {
mode: 'raw',
raw: JSON.stringify({
"device": {
"id": "web",
"type": "WEB"
}
}
};
pm.sendRequest(sessionRequestData, function (err, res) {
var jsonData = res.json();
if (err) {
console.log("mailman: error retrieving session id"+err);
}
else {
console.log("mailman: retrieved session data succesfully"+ jsonData.session.id);
pm.variables.set("LocalSessionId", jsonData.security.session.id);
}
});
const customerSignonRequestData = {
url: "http://myurl.com/CustomerSignOn",
method: 'POST',
header: { 'content-type': 'application/json' },
body: {
mode: 'raw',
raw: JSON.stringify( "customerRequest": {
"identities": {
"identity": [
{
"data": "sessionId",
"value": `${pm.variables.get("LocalSessionId")}`
}
]
}
});
pm.sendRequest(customerSignonRequestData, function(err, res){
console.log("customer sign on request "+ JSON.stringify(customerSignonRequestData.body.raw))
var jsonData = res.json();
if (err) {
console.log("mailman: unable to signon"+err);
} else {
console.log("mailman: login successful"+ JSON.stringify(jsonData))
}
});
有谁能建议我如何才能确保客户登录被调用后,只检索会话。
2条答案
按热度按时间ckx4rj1h1#
我有这个问题。诀窍是必须将第二个请求嵌套在第一个请求中。因此,它应该看起来像这样:
46qrfjad2#
我是这样做的: