当我的网络API由于第三方服务而无法执行操作时,我会发送什么回复

时间:2018-03-06 16:59:55

标签: c# asp.net-core .net-core asp.net-core-webapi

我正在研究用dotnet核心编写的C#Web API。我正在努力回复尝试从另一台服务器上的第三方服务检索数据的操作。如果在尝试从第三方服务获取数据时出现问题,那么在查看spec时对我最有意义的HTTP响应是502 Bad Gateway,因为

  

服务器在充当网关或代理时收到无效      来自它尝试访问的上游服务器的响应      满足要求。

但我找不到办法在我的行动中归还这个。 IActionResult似乎没有此代码的实现。我是否通过正确思考?

1 个答案:

答案 0 :(得分:3)

Web Api包含一些您应该尽可能使用的快捷方法,但是对于一些更常见的错误代码,它们只有一些。

以下将仅返回StatusCode:

return StatusCode(HttpStatusCode.BadGateway);

最常见的回报是:

return NotFound() // 404
return Ok() //200
return InternalServerError() //500

你应该问自己什么是绝对有必要返回确切的错误代码。你的前端需要知道吗?如果您已经在API中处理异常的记录,那么您应该返回更通用的内容,例如InternalServerError()