ASP.NET Core WebApi将错误消息返回给AngularJS $http promise
发布时间:2020-05-26 05:38:30 所属栏目:asp.Net 来源:互联网
导读:我想将异常消息返回给AngularJS UI. 作为后端,我使用ASP.NET Core Web Api控制器: [Route(api/cars/{carNumber})] public string Get(string carNumber) { var jsonHttpResponse = _carInfoProvider.GetAllCarsByNumbe
|
我想将异常消息返回给AngularJS UI.
[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 – Visual Studio无法解析模型,但加载了Razor页
- asp.net-mvc – LINQ to Entities无法识别方法异常
- asp.net – 如何删除日历的最后一周
- asp.net-mvc – 在ASP.NET MVC中对ViewModels进行验证
- ASP.NET MVC中的asp.net-mvc – 文件大小上传限制:web.con
- asp.net – 所有PartialView的自定义ActionResult等效模型
- asp.net-mvc – MVC查看可空的日期字段格式
- asp.net-mvc-3 – 在MVC和Razor中创建向导步骤
- asp.net – 从另一个域配置IIS身份验证
- asp.net – 我可以动态更改嵌套母版页的主
推荐文章
站长推荐
- 使用ASP.NET MVC 3和实体框架4.1代码首先在SQL C
- asp.net-mvc-3 – MVC 3 – 比较属性 – 在客户端
- asp.net-mvc – 如何从剃刀视图访问My.Resources
- asp.net – 由TaskScheduler和SynchronizationCo
- asp.net-mvc – mvc.net如何在迭代列表时使用强类
- 我应该把我的日志文件放在哪里用于asp.net应用程
- asp.net-mvc – 在Azure中启用自定义错误
- .net – 如何在ASP成员资格中使用LogOut
- asp.net-mvc – App_Web _ * .dll中的System.Nul
- ASP.NET Core 2.0 Web API响应缓存
热点阅读
