对REST API的DELETE请求返回500

时间:2017-09-09 21:10:35

标签: node.js rest

function delete(id, response) {
var https = require('https');
var linkpath = "/v1/endpoint/" + id + "/?token=" + AUTH_KEY;
var req = https.request({
    hostname: 'api.foo.com',
    port: 443,
    path: linkpath,
    agent: false,
    method: 'DELETE',
}, (res) => {
    if (res.statusCode !== 200) {
        response.send('HTTP ' + res.statusCode + ' ' + res.statusMessage);
    }

    res.on('error', function (err) {
        response.send(err);
    });

    res.on('end', function (data) {
        response.send(data);
    });
});

req.on('error', function(e) {
    response.send(e.message);
});

req.end();
}

此代码改编自我的(工作)代码,该代码使用POST请求对此API执行其他操作,从端点向我发送状态代码为500。

我不知道如何调试它。我无法手动将URL发送到服务器,因为它是DELETE操作而不是GET或POST。

有没有人见过这个问题?或者您对如何调试它有什么想法?

2 个答案:

答案 0 :(得分:2)

Postman(https://www.getpostman.com/)是手动发送特定HTTP请求的绝佳工具,包括DELETE!

答案 1 :(得分:0)

有各种各样的工具可以让您手动将任何HTTP发送到服务器。例如,你可以通过curl获得相当多的信息,这将很乐意发送DELETE请求。

例如:

curl -v -X "DELETE" https://jsonplaceholder.typicode.com/posts/1

将返回请求和响应标头以及返回值的主体(如果有)。