http 错误响应正文中的对象

Object inside response body for http error

我正在尝试弄清楚在 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 对象,尽管检查网络我可以清楚地看到在响应内部有这样的对象。如何访问响应中的对象?

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

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