REST HTTP状态码如果错误Mongoose

当发生错误时,我必须使用哪个状态码。 当从mongoose数据库中获得所有的银行。 用户只做这个客户端操作。

客户行动

GET Url: /banks 

mongoose代码

 Banks .find() .exec(function(err, banks) { if (err) { return res.status(400).send({ message: errorHandler.getErrorMessage(err) }); } else { res.status(200).jsonp(banks); } }); 

我认为statuscode 500而不是400.因为客户端url是有效的。

错误代码4xx表示客户端错误,例如无效请求。 但是在这种情况下,问题出在服务器端的DB上。 所以你应该使用5xx 。 在你的例子中, 500是OK的。

您可以在这里find不同代码的快速概览: https : //en.wikipedia.org/wiki/List_of_HTTP_status_codes#5xx_Server_Error