问题描述
该服务可能会有各种应用程序错误作为响应。对于这些错误响应,建议使用哪种HTTP状态代码?以及我们如何决定将哪个HTTP状态代码用于应用程序错误?据我了解,每个状态代码都针对特定的场景/故障。状态代码和应用程序错误如何关联?
解决方法
如果我正确理解了,您想知道在哪种情况下使用哪种状态码?
我猜最好的方法是看看RFC
那里也有例子。
例如
如果您的应用程序“错误”是用户未通过身份验证,请使用“ 401”,如果它是某种“致命错误”(我猜是最坏的情况),则RFC会返回以5.xx开头的状态代码(取决于错误)
,通常,在REST服务(Dropbox api,Amazon API,Mailchimp等)中,特定于该应用程序的任何精确错误均以特定格式(json,rpc,xml等)的标准http响应给出。
要在此处立即检查amazon-drive和Dropbox。
如您所见,Dropbox使用HTTP错误代码409,并告诉用户查找字段错误和error_summary
。话虽如此,HTTP响应的目的应该以一种标准的方式提供信息并易于理解(不仅对您和计算机,还对其他开发人员。)熟悉MDN- Status Codes