1

我正在尝试设置 DELETE 调用,但为此我首先需要创建要删除的数据,因此我尝试在预请求中调用 POST。我已将 POST 作为正常请求运行,它工作正常,但在预请求中它似乎被忽略了。我知道这一点,因为我可以将 URL 更改为不应该工作的东西,它没有任何区别并且不会引发错误。

这是我在预先请求中的内容:-

pm.sendRequest({
    url: "http://someurl/test",
    method: 'POST',
    header: {
        'Authorization': 'Basic Tmlfefe89899eI='
    },
    body: {     
    "ClientId": 594,
    "Name": null,
    "Disabled": false
    }, function (err, res) {
        console.log(res);
    }
});

要使用 POST 作为预请求,我需要做些什么特别的事情吗?任何帮助将不胜感激。

4

2 回答 2

2

什么都没有发生似乎很奇怪,可能会返回 400 但你只会在Postman Console.

您可以通过点击此图标打开它,您会在应用程序的左下方找到它:

邮差

这是来自控制台的示例视图,第一个请求的时间旁边的图标将显示使用了一个pm.sendRequest()函数:

邮差

我建议将您的请求稍微更改为以下内容,应该没问题:

pm.sendRequest({
    url: 'http://someurl/test',
    method: 'POST',
    header: {
        'Authorization': 'Basic Tmlfefe89899eI=',
        'Content-Type': 'application/json'
    },
    body: {
        mode: 'raw',
        raw: JSON.stringify({ ClientId: 594, Name: null, Disabled: false})
    }
}, function (err, res) {
    console.log(res);
});
于 2019-11-06T22:46:36.933 回答
1

有一个技巧可以获取预请求脚本的请求信息。

将请求保存在单独的搭配(临时)中并导出该集合。然后使用 IDE 或记事本检查该 json 集合,您将在那里获得所有信息,按照您的要求使用它。

使用问题中的给定信息,您的预请求脚本如下所示,

pm.sendRequest({
    url: "http://someurl/test",
    method: "POST",
    header: [{
        "key": "Authorization",
        "value": "Basic Tmlfefe89899eI=",
        "type": "text",
    },
    {
        "key": "Content-Type",
        "name": "Content-Type",
        "value": "application/json",
        "type": "text"
    }],
    body: {
        mode: 'raw',
        "raw": ""raw": "{\n    \"ClientId\": 594,\n    \"Name\": null,\n    \"Disabled\": false\n}"
    }
}, function(err, res) {                
     console.log(res);    
});

还要检查 Postman 控制台,您将在那里获得所有信息,包括请求、响应和错误(如果有)。

于 2019-11-06T18:49:54.527 回答