gpt4 book ai didi

javascript - 为Express应用程序中的错误选择HTML状态代码

转载 作者:行者123 更新时间:2023-12-03 08:51:01 25 4
gpt4 key购买 nike

在我的API中,如果任何查询失败,那么响应状态代码应该是什么?

范例:

Grade.find({},function(err,grades) {
if (err)
res.status(500).json({error:err,message: 'Somthing went wrong please try again later'});

else
res.status(200).json({grades:grades});
});

500还可以吗?

最佳答案

TL; DR 500状态是最接近“一刀切”的错误,但是您可以深入了解更多细节。

根据 the standards ,您有很多选择:

5xx Server Error

500 Internal Server Error

501 Not Implemented

502 Bad Gateway

503 Service Unavailable

504 Gateway Timeout

510 Not Extended



您也可以创建自己的5xx状态以区分错误类型,只是尝试使用未为其他任何内容定义的数字。

或坚持使用500状态并将原始错误代码附加到结果中:
res.status(500).json({error:err, code : err.code, message: 'Somthing went wrong please try again later'});

但是,在回答5xx之前,您需要通过验证收到的数据来确保错误不是来自客户端。如果收到的数据无效,请使用400错误请求代码。如果问题与安全性有关,请使用“403未授权”等。

关于javascript - 为Express应用程序中的错误选择HTML状态代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40883600/

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