ASP.NET Core WebApi将错误消息返回给AngularJS $http promise
发布时间:2020-12-15 19:51:16 所属栏目:asp.Net 来源:网络整理
导读:我想将异常消息返回给AngularJS UI. 作为后端,我使用ASP.NET Core Web Api控制器: [Route("api/cars/{carNumber}")] public string Get(string carNumber) { var jsonHttpResponse = _carInfoProvider.GetAllCarsByNumber(carNumber); if (jsonHttpResponse
我想将异常消息返回给AngularJS UI.
作为后端,我使用ASP.NET Core Web Api控制器: [Route("api/cars/{carNumber}")] public string Get(string carNumber) { var jsonHttpResponse = _carInfoProvider.GetAllCarsByNumber(carNumber); if (jsonHttpResponse.HasError) { var message = new HttpResponseMessage(HttpStatusCode.InternalServerError) { Content = new StringContent(jsonHttpResponse.ErrorMessage) }; throw new HttpResponseException(message); } return jsonHttpResponse.Content; } 但在Angular方面,失败承诺只能看到状态和statusText“内部服务器错误”: 如何将错误消息传递给Core Web Api的Angular $http失败承诺? 解决方法
除非你正在做一些
exception filtering,否则抛出新的HttpResponseException(消息)将成为未捕获的异常,它将作为通用500内部服务器错误返回到您的前端.
您应该做的是返回状态代码结果,例如BadRequestResult.这意味着您的方法不需要返回字符串,而是需要返回IActionResult: [Route("api/cars/{carNumber}")] public IActionResult Get(string carNumber) { var jsonHttpResponse = _carInfoProvider.GetAllCarsByNumber(carNumber); if (jsonHttpResponse.HasError) { return BadRequest(jsonHttpResponse.ErrorMessage); } return Ok(jsonHttpResponse.Content); } 另请参阅:我在how to return uncaught exceptions as JSON的答案.(如果您希望将所有未捕获的异常作为JSON返回.) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 如何创建ASP.NET MVC控制器从查询字符串接受
- asp.net-mvc – ASP.NET MVC RadioButtonListFor始终是预设
- asp.net-mvc – MVC4单页应用程序 – 多个屏幕
- asp.net-mvc – 有一个强大的方法来删除ASP.NET MVC中的Mod
- asp.net-mvc – 清理MVC 3.0应用程序中抛出的所有错误的方法
- 用于ASP.NET的web api – 如何构建对象流
- ASP.NET:获取页面的文件名
- ASP.NET MVC – jquery datepicker
- 异常 – ASP.NET应用程序池关闭问题
- asp.net – 有谁知道如何摆脱我的.net网络服务的jsdebug请求
推荐文章
站长推荐
- asp.net – 有什么功能,将帮助我重构CSS
- 如何编写没有Try/Catch的程序
- asp.net-mvc – 绑定客户端模板中的两个字段,用于
- asp.net-core – 运行kpm restore时无法找到Micr
- asp.net-mvc-3 – MVC3 – 使用Entity框架设置Co
- asp.net-mvc – 在IIS 5.1上部署ASP.NET MVC(Win
- ASP.NET MVC 3自定义身份验证/授权
- asp.net-mvc-4 – 使用ASP.NET MVC进行基于声明的
- asp.net-mvc – Sitecore 6.6,MVC 3和System.Web
- asp.net-mvc-3 – 为什么抛出NULL值异常?
热点阅读