发送Web API响应的正确方法

山姆

我在某处读到,不建议在Web API方法中使用TRY CATCH。

我正在对方法进行以下调用,如果一切顺利,我想返回状态为200的Employee对象,但是如果出现问题,例如数据库调用失败,等等。我想返回状态500。正确的方法是什么处理该代码?

[HttpPost]
public async Task<IHttpActionResult> PostNewEmployeeAsync(Employee emp)
{

   var newEmployee = await RegisterEmployee(emp);
   return Ok(emp);

   // What if I had a database error in RegisterEmployee method. How do I detect the error and send InternalServerError()

}

private async Task<Employee> RegisterEmployee(Employee emp)
{
   // Call DB to register new employee, then return Employee object
}
奥马尔·阿拉尼(Omar.Alani)

您的代码应返回与您的情况匹配的错误代码,例如,如果您的代码在数据库中找不到所需的资源,则返回NotFound,

但是,如果代码引发异常,请避免使用try / catch块包装代码,而应将异常冒泡至可以全局处理的级别,为此,您可以使用许多选项,例如:

1-实现一个ExceptionFilter,您可以在其中处理控制器中引发的所有未处理的异常(这不包括在管道中的控制器之前发生的任何异常)。

请参阅有关ExceptionFilterAttribute更多细节。

2-如果使用的是Web API 2,则可以实现IExceptionHandler接口,在该接口中可以处理管道中任何地方发生的所有异常,并可以在其中返回所需的错误。

请参见有关网络API 2全球异常处理的更多细节。

希望能有所帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从 web api 发送正确的响应

来自分类Dev

Web API问题,发送压缩响应

来自分类Dev

发送几个异步API请求并并行处理响应的正确方法是什么?

来自分类Dev

从Web服务发送多个响应

来自分类Dev

Web API - 对客户端的正确响应

来自分类常见问题

ASP.NET Web API:返回401 /未经授权的响应的正确方法

来自分类Dev

从Asp.net Web API 2过滤器属性响应返回JSON的正确方法

来自分类Dev

用于发送图像的 Web API post 方法

来自分类Dev

从ASP.NET Web API方法向jquery ajax发送间歇响应

来自分类Dev

Web API 过滤器立即发送错误响应

来自分类Dev

如何从Node.js API正确发送响应代码

来自分类Dev

通过Web Api接收,发送文件

来自分类Dev

Web API以错误的格式发送JSON对象

来自分类Dev

从Web API在SignalR中发送消息

来自分类Dev

Web API:读取从应用发送的图像

来自分类Dev

通过Web Api接收,发送文件

来自分类Dev

获取请求在Web API中发送null

来自分类Dev

将变量发送到Web API方法

来自分类Dev

如何在我的Web API 2解决方案中发送“禁止”响应?

来自分类Dev

将用户凭证发送到Rails API的正确方法

来自分类Dev

我可以发送错误图和响应对象作为响应吗?正确的方法是什么?

来自分类Dev

处理发送到REST Web服务的JSON字符串中的&字符的正确方法

来自分类Dev

通过套接字正确发送HTTP响应

来自分类Dev

Django未发送正确的JSON响应

来自分类Dev

通过套接字正确发送HTTP响应

来自分类Dev

从ASP .NET Core Web API方法返回完整的XML响应

来自分类Dev

Web Api响应标准

来自分类Dev

发送对象数组时,Web API [FromBody]参数为null

来自分类Dev

无法使用$ http从AngularJs向Web API发送DELETE

Related 相关文章

热门标签

归档