Firebase 管理 SDK - 删除响应不正确
Firebase admin SDK - DELETE response not correct
我是 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 的新手(但不是编程新手)。
我正在使用 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"});
});
});