如何用脚本更改API POST请求的主体?

时间:2017-11-03 02:35:09

标签: javascript api postman

我刚开始在一小时前学习API,并希望在我写的一些POST上输入。我对所有这些工作原理的理解是非常错误的。最重要的是,我想知道如何将变量从脚本传递给API请求。

身体:

{
   "bot_id" : "abc123",
   "text" : words
}

javascript中的预请求脚本:

var num = Math.floor((Math.random() * 3) + 1);

switch(num)
{
    case 1:
        words = "Hello world!";
        break;
    case 2:
        words = "Greetings Earthlings.";
        break;
    case 3:
        words = "Goodbye cruel world!";
        break;
}

这是我失败时得到的响应(400 Bad Request):

{
    "meta": {
        "code": 400,
        "errors": [
            "Invalid bot_id"
        ]
    },
    "response": null
}

1 个答案:

答案 0 :(得分:1)

响应

响应 "errors": ["Invalid bot_id"] 告诉您bot_idabc123)错误。可能在后端有一些验证?

如何将值传递给请求

在预请求脚本中,您可以访问postman对象。此对象包含方法setGlobalVariablegetGlobalVariablesetEnvironmentVariablegetEnvironmentVariable

现在使用这种方法可以读/写变量。在您的情况下,您想使用postman.setGlobalVariable('words', words)。在体内,您可以使用花括号{{variable}}

来使用变量

代码

预先请求脚本

var num = Math.floor((Math.random() * 3) + 1);
var words = "";

switch(num) {
    case 1:
        words = "Hello world!";
        break;
    case 2:
        words = "Greetings Earthlings.";
        break;
    case 3:
        words = "Goodbye cruel world!";
        break;
}

postman.setGlobalVariable('words', words)

身体

{
    "bot_id" : "abc123",
    "text" : "{{words}}"
}