在 MEAN Stack 中在服务器上返回错误消息2025年3月17日 | 阅读 3 分钟 在我们之前的章节中,我们成功地获得了错误对话框。它显示了我们注册错误的标准错误消息,因为我们有用户的唯一 mongoose 验证器,我们在后端创建新用户。如果它检测到错误,它将自动发回错误,然后我们只需发回正常的错误响应。 ![]() 我们将通过以下方式改进错误 1) 我们将发回一个带有我们自己的错误对象的错误,我们在其中添加 message 属性并设置消息**无效的身份验证凭据**。 ![]() 现在,如果我们返回到我们的 Angular 并尝试使用已注册的电子邮件进行注册,我们将看到我们确切希望看到的消息。 ![]() 2) 让我们检查服务器端并确保我们在所有情况下都发送正确的错误消息。对于登录,我们也在捕获错误,并且我们发送了身份验证失败。在这里,我们还希望显示**“无效的身份验证凭据!”**的消息。 ![]() 如果我们返回到我们的 check-auth 文件,在那里我们也会发回一个响应,如果发现用户没有有效的令牌,则身份验证失败。因此,我们希望将消息更新为**您未通过身份验证!**。 ![]() 3) 现在,我们将返回到我们创建新帖子的帖子路由,我们没有处理错误情况。在这里,我们需要在 then 块之后添加一个 catch 块。每当发生某些故障时,这将执行。我们将设置状态码为 500 的响应,表示服务器上发生了一些问题,并添加一些 JSON 数据,我们可以在其中设置一条消息并将其设置为**创建帖子失败!**。 ![]() 4) 现在,我们将继续更新路径,在这里我们正在更新我们的帖子。在这里,我们已经发回了一个响应,如果我们没有出现技术错误,它将进入一个 catch 块,但是如果我们根本找不到要更新的帖子,我们将发回一个“未授权!”错误。我们还希望捕获技术错误,例如数据库连接丢失或其他任何内容。然后,我们将简单地返回一个状态码为 500 的自定义响应,在那里我们发回我们的 JSON 代码,并将消息属性设置为**无法更新帖子!**。 ![]() 5) 现在,我们将继续获取帖子路由。在这里,我们还需要捕获技术错误,我们将以与更新帖子相同的方式执行此操作。我们仅将消息更改为**获取帖子失败!**。 ![]() 6) 我们将复制相同的 catch 块代码,并将其添加到我们尝试查找单个帖子的方法中。 ![]() 7) 现在,对于删除帖子,我们处理了我们未获得授权或类似的情况,我们也将在这里捕获技术错误。因此,我们将在此处添加 catch 块,如下所示 ![]() 下载完整项目(Error handling.zip) 下一主题# |
我们请求您订阅我们的新闻通讯以获取最新更新。