angular - 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 对象,尽管检查网络我可以清楚地看到内部响应有这样的对象。如何访问响应中的对象?
解决方案
如果您收到此对象的状态码为 200,您将永远不会在订阅的错误回调中得到它。但是如果代码是 500、400 左右,它们是真正的 http 错误代码。
您应该可以在回调中使用 error.body 进行访问。
推荐阅读
- c++ - 即使 GLEW 已正确初始化,绘图调用上的读取访问冲突
- json - 反应重复名称但不同的字段
- swift - 删除用户和所有相关数据
- node.js - 监控输入端口node.js
- maxima - 如何避免符号集成中的符号错误
- docker - 如何从`docker-machine`访问容器的路径
- javascript - 你可以重置一个变量来存储调用包含闭包的函数的结果吗?
- java - 使用 Apache Camel 和 Apache CXF 的 Soap Web 服务
- asp.net-web-api - 如何在 Asp.NET WebAPI 中验证收到的令牌?
- scala - 斯卡拉。实例化 trait 时出现 NoSuchMethodException