我正在尝试创建一个待办事项列表应用,并在每种类型的请求中使用POSTMAN进行检查。 GET和POST请求工作正常。但PUT和DELETE没有按预期工作。
正如预期的那样意味着:它没有显示404既没有显示结果,也没有显示错误,即无法得到任何回复。
这是我的put和delete代码:
var todos = [];
// DELETE /todos/:id
app.delete('/todos/:id', function(req,res){
var todoId = parseInt(req.params.id, 10);
var matchedTodo = _.findWhere(todos, {id: todoId});
if(!matchedTodo){
res.status(404).send();
}else{
todos = _.without(todos, matchedTodo);
res.json(matchedTodo);
//console.log(todos);
}
});
// PUT /todos/:id
app.put('/todos/:id', function(req,res){
var todoId = parseInt(req.params.id, 10);
var matchedTodo = _.findWhere(todos, {id: todoId});
var body = _.pick(req.body, 'description', 'completed');
var validAttributes = {};
if(!matchedTodo){
return res.status(404).send();
}
if(body.hasOwnProperty('completed') && _.isBoolean(body.completed)){
validAttributes.completed = body.completed;
}else if(body.hasOwnProperty('completed')){
return res.status(400).send();
}
if(body.hasOwnProperty('description') && _.isString(body.description) && body.description.trim().length > 0){
body.description = body.description.trim();
validAttributes.description = body.description;
}else if(body.hasOwnProperty('description')){
return res.status(400).send()
}
_.extend(matchedTodo, validAttributes);
res.json(matchedTodo);
});
现在,我不知道这是一个错误还是什么。
答案 0 :(得分:2)
首先,您应该尝试官方提示:
SSL certificate verification
中关闭'Settings > General
' Settings > Proxy
Settings > General
第二,通常官方提示2 将解决此问题。如果不是,则可以使用环境变量。您应该确认链接(如协议picture中所示)可以访问。
如果不是,则应检查环境变量的当前值。如果当前值为blank
,则应填写并设置在官方提示中更改为的选项>默认。现在应该解决问题。