我想用vue和laravel制作SPA应用程序。 对于返回错误,我有两种方法...什么是最佳选择?
1:
return response(['message'=>'page not found'] , 404);
阿拉伯数字:
return response(['status'=>false , 'code'=>404 ,'message'=>'page not found'] , 200);
我认为第二种方式更好。因为它没有在浏览器控制台中显示错误..你对此有何评论?
这个问题真的很广泛,因为我认为你不是在问具体的 Vue/Laravel 细节,而是在考虑如何作为一个整体来处理错误。
我不知道具体的Laravel内容,但似乎您想返回触发错误的HTTP请求,就好像它们是正确的一样,但随后设置一个自定义code
字段,以便您的前端应用程序知道它们实际上是错误。
因此,用户请求服务器中的资源,如果该资源不存在,则返回 200 但带有 404 代码。
这是某种混乱和非标准的,我建议返回现实的HTTP代码。这主要有三个原因:
-
有一些服务可以分析应用程序网络流量并生成专用报告。它们依赖于标准的 HTTP 响应代码。如果将来您想使用此类服务,最好不要伪造响应中的HTTP代码。
-
最终将开始处理您的项目的新开发人员将对此感到困惑。
-
此外,还有第三方服务可以捕获前端错误,网络响应和跟踪并生成统计信息。同样,如果您收到 404、503 或任何 HTTP 错误,因此记录它并获取正确的 HTTP 状态代码可能会很有用。