【发布时间】:2017-06-24 04:31:45
【问题描述】:
在我正在编写的 NodeJS/MongoDB 服务器中,我有很多 API 调用来将用户和诸如此类的东西存储在数据库中。 Mongoose 调用了 MongoDB,在进行查询后,将返回一个带有错误(如果有)的回调函数和一个文档(如果有一个要返回)。
我想知道是否应该将错误发送给用户,将其抛出(停止整个服务器),或者只是发送 500 错误。
例子:
accountDocument.save(function (err, account) {
if (err){
res.status(500).json(err); // Option 1 - sends DB error to user
res.status(500).end(); // Option 2 - just notifies there was a problem
throw err; // Option 3 - stops the server completely
}
else
res.status(200).json(account);
});
我应该选择做什么?
【问题讨论】:
-
REST API error return good practices 的可能副本,由于主要基于意见而被关闭,就像这个问题本质上一样。
-
@NeilLunn 是和否......关于返回哪个代码的内容很多,我已经知道我将返回 500。问题是我是否应该将错误发送为好吧,或者只是停止服务器。
-
为什么要停止服务器?这意味着它将停止为所有其他用户工作
-
@MariaInesParnisari 不确定,不知道这是否是好的做法,听起来好像不是。所以,现在只需要发送一个带有错误的 500 即可。想法?
标签: node.js mongodb express mongoose error-handling