首页 > 解决方案 > http错误的响应主体内的对象

问题描述

我试图弄清楚在 http 调用期间发生错误时如何访问响应正文中的对象。我的后端使用详细的自定义错误对象填充 http 响应,如下所示:

{
    "title": "UNAUTHORIZED WEB",
    "message": "Sorry, but seems that your access is denied or not valid anymore."
}

如果我调用此端点并尝试读取错误,如下所示:

    this.http.get<any>(URL).subscribe(
        () => { ... stuff ... },
        (error) => console.log(error)
    )

它只是打印代码,甚至没有 HttpErrorResponse 对象,尽管检查网络我可以清楚地看到内部响应有这样的对象。如何访问响应中的对象?

标签: angularhttperror-handlingresponse

解决方案


如果您收到此对象的状态码为 200,您将永远不会在订阅的错误回调中得到它。但是如果代码是 500、400 左右,它们是真正的 http 错误代码。

您应该可以在回调中使用 error.body 进行访问。


推荐阅读