angular - 返回 4xx 错误时的角度 httpclient 帖子错误处理程序仅包含 OK,没有解析 json
问题描述
我在 .net core 2.1 中创建了一个 REST api,最初在 7 中创建了一个角度前端,但最近升级到了 8。
我有几个用于创建新项目(问题、答案、用户、应用程序等)的 post 端点,这些端点将采用 json 对象,然后针对它们运行一些验证规则。如果规则成功,则将对象保存到数据库中,如果失败,则返回模型状态错误和 422(也尝试过 400)错误以及 json 响应,例如 {"Address":["Please enter the address" ],"TopLevelBudgetId":["请选择顶级预算"]}
但是错误总是“OK”
.subscribe( () => { this.router.navigate([ /administration/users
]); }, error => { console.log(error); }));
在邮递员中,我可以看到正确的状态代码 422 和 json modelstate,如上所示。
我不知道我哪里出错了,遵循了各种角度教程,但还没有找到解决方案。
我可以在 chrome 工具的网络选项卡中看到它首先发送选项并返回 204,这是因为我机器上本地的站点位于不同的端口上,因此它正在处理 CORS,然后它会正确显示 422 状态代码和响应。
为什么我在错误处理程序中只收到“OK”
解决方案
所以这是我的一个小学生错误。我有一个拦截器来处理 401/403 身份验证错误并重定向到登录页面。
这是有问题的部分,没有意识到我有这个拦截器,因为它是在开发开始时添加的
常量错误 = err.error.message || err.statusText; 返回抛出错误(错误);
更改为重新抛出异常
返回抛出错误(错误);
推荐阅读
- c# - 多次显示和隐藏带有幻灯片动画的 WPF 窗口,同时每次都一致地显示动画
- javascript - 你如何让 Material-UI 选项卡与 react-router 一起工作?
- python - 烧瓶棉花糖 base_fields.Function in base_fields.Nested
- java - Spring @ConditionalOnProperty havingValue = "value1" 或 "value2"
- android - 我想读取服务器发送的数据(我的服务器是 esp8266)
- wpf - WPF:如何使用透明级别设置我的表单样式
- javascript - 我的 CodePlayer 无法处理我的 Blogger 帖子
- c# - C# 4 个字节 [] 数组到 int[] 的索引
- python-3.x - PIP 安装 pywin32 服务失败:功能不正确
- java - 通过选择中间元素创建序列