我有一个针对我的Angular应用程序的REST请求,用于检查数据库中是否存在对象。它返回HTTP响应代码200(OK)或404(Not Found),具体取决于对象是否存在。
这与此SO article(大多数年前关闭)中的大多数建议一致。
然而,问题是Angular框架和/或浏览器的开发人员工具将404代码报告为异常错误情况。到处都是红色字母(控制台和网络日志)即使应用程序正在按照我的意愿行事。例如,以下内容将显示在Chrome控制台中:
:8080/app/check/abcdef:1 GET http://localhost:8080/app/auth/check/abcdef 404 (Not Found)
我可能很天真,但我希望我的应用程序能够使用干净的控制台运行,除非它实际上以某种方式失败。我是否滥用了404响应代码,是否应该通过200代码实现特定于应用程序的响应?
请记住,我最终想要记录我的界面,除了我的SPA之外还有其他应用程序。
答案 0 :(得分:1)
Imo没有改变。对于不存在的资源,API仍应返回404。捕获您的observable中的错误并向用户显示相应的消息。捕获的错误也不会仅在控制台,网络标签中显示。