我已经在.net core 2.1中创建了一个REST api,最初在7中创建了一个有角度的前端,但是最近又升级到了8。
我有几个发布端点,这些端点用于创建新项目(问题,答案,用户,应用程序等),这些端点将使用json对象,然后针对它们运行一些验证规则。如果规则成功,则将对象保存到数据库;如果失败,则返回modelstate错误和422(也尝试过400)错误以及json响应,例如 {“地址”:[“请输入地址”],“ TopLevelBudgetId”:[“请选择顶级预算”]}
但是错误始终是“确定”
.subscribe(
()=> {
this.router.navigate([/administration/users
]);
},
错误=> {
console.log(错误);
}));
在邮递员中,我可以看到正确的状态码422和json模型状态,如上所示。
我不知道哪里出了问题,跟随各种角度的教程,但仍未找到解决方案。
我可以在chrome工具的网络标签中看到它首先发送选项并返回204,这是因为我的机器本地的站点位于不同的端口上,因此它正在处理CORS,然后它正确地显示了帖子422状态代码和响应。
为什么我在错误处理程序中只收到“确定”
答案 0 :(得分:0)
所以这是我的一个小学生错误。我有一个拦截器,可以处理401/403身份验证错误并重定向到登录页面。
这是有问题的部分,没有意识到我有这个拦截器,因为它是在开发开始时添加的
const错误= err.error.message || err.statusText; 返回throwError(error);
更改为重新抛出异常
返回throwError(err);