gpt4 book ai didi

javascript - Firebase 管理 SDK - 删除响应不正确

转载 作者:太空宇宙 更新时间:2023-11-04 02:46:10 25 4
gpt4 key购买 nike

我对 Javascript 很陌生(但对编程并不陌生)。

我正在 NodeJs 中使用 Firebase ADMIN SDK 创建 REST API。如果资源存在,我就能够成功执行 DELETE 请求。但如果不存在(或者ID不正确),POSTMAN中的响应仍然是成功的。

我认为回调函数不正确。当我实现 GET/:id 和 PUT/:id 时,我可能会遇到同样的问题。请帮忙。

// DELETE /api/billingPlans/:id
// Delete a billing plan
routes.delete('/:id', (req, res) => {
var ref = admin.database().ref(firebaseNode);
//Have also tried snapshot.exists() but similar problem occurs
return ref.child(req.params.id).once('value', function(snapshot) {
snapshot.ref.remove(function(error){
if(!error)
res.status(200).json({"result" : "DELETE Success"});
else res.status(204).json({"error" : "Not found"});
});
});

最佳答案

我思考了一会儿才这么做的。状态代码 204 不会在 POSTMAN 中发回格式正确的正文。不知道为什么。简化了代码,现在代码如下所示:

// DELETE /api/billingPlans/:id
// Delete a billing plan
routes.delete('/:id', (req, res) => {
var ref = Common.admin.database().ref(firebaseRootNode);
ref.child(req.params.id).once('value', function(snapshot) {
if(snapshot.exists()){
snapshot.ref.remove();
return res.status(200).json({"result" : "DELETE Success"});
}
//204 does not send back a body
return res.status(200).json({"error" : "Not found"});
});
});

关于javascript - Firebase 管理 SDK - 删除响应不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46089569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com