当我的Web API由于第三方服务而无法执行操作时,我将发送什么响应

杰克·史密斯

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

该服务器在充当网关或代理的同时,从尝试访问该请求的上游服务器接收到无效响应。

但是我找不到在操作中返回此值的方法。IActionResult似乎没有此代码的实现。我在想这件事吗?

理查德·麦克

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

以下将仅返回StatusCode:

return StatusCode(HttpStatusCode.BadGateway);

最常见的回报是:

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

您应该问自己,绝对有必要返回该确切的错误代码。您的前端需要了解吗?如果您已经在API中处理异常的日志记录,则可能应该返回更通用的内容,例如InternalServerError()

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从我的Web API调用第三方Web API时,Web服务器挂起

我如何从Firebase函数调用第三方Rest API以便在Google上执行操作

我应该将新的还是旧的Context对象发送到自己的gRPC服务器中的第三方gRPC API?

从 Web 服务 (ASMX) 调用第三方 API

在我的 RAILS 控制器中处理第三方 API 400/500 响应

第三方API传回500错误,我的API应该返回什么代码

如何包装第三方API端点调用,下载文件到我的新API中并公开端点以允许执行相同操作?

当我访问其他网页时,为什么浏览器会连接到未知的第三方网站?

对于基于Java的REST服务(JSON),我是否需要第三方框架?

我如何从NAnt的NuGet服务器获得第三方依赖关系?

在Wordpress中将第三方Web服务API实现为“页面”

为什么我不能从Lidgren收到来自第三方客户的消息?

我应该使用什么HTTP代码进行第三方身份验证失败?

如何将第三方bean自动连接到我的@Controller bean

如何将第三方类加载到我的cakephp项目中?

如何使用 AWS 存储和访问我的第三方 API 密钥

我应该在后端还是前端进行第三方API调用?

从第三方API获得令牌后,我应该生成自己的令牌吗?

用我自己的JavaScript功能包装第三方Web应用程序

在我的Web部署中包含第三方DLL

当我选择任何第三方相机时,相机意图中的空指针异常

当我们链接任何第三方模块时,react native 的新升级版本(0.60)出现问题

如何避免使用第三方Web服务重复代码-而无需使用动态代码?

蓝牙LE ScanResult被返回null,但我知道我的外设广播心脏速率服务UUID(由第三方应用BLE验证)。为什么?

当我从 Android 向 Flask Web 服务发送参数时,如何解决“SSL 库失败”?

如何使用第三方API发出请求并定期在Google BigQuery上加载结果?我应该使用哪些Google服务?

无法将Android第三方扫描仪库加载到我的本机应用程序中

添加第三方记录服务如何影响我必须向Heroku支付多少钱

我的程序由于静态值而无法执行