gpt4 book ai didi

http - 当依赖项/下游(如第 3 方 API)失败时使用什么 HTTP 状态代码?

转载 作者:可可西里 更新时间:2023-11-01 17:04:47 30 4
gpt4 key购买 nike

我们的 API 中有一个路由(在调用时)会访问另一个第 3 方 API。

例如

HTTP-GET/account/1

这会从我们的数据库返回一些数据,并从.. 说 .. 像 Auth0/Okta/SalesForce/whatever 这样的第 3 方 api。

现在,如果这个第 3 方 api 调用由于任何原因失败(失败 == 4**、5** 或什至 200 OK 但内容是一些错误消息)那么我应该将什么错误状态代码传回给客户端调用我的 API?

最初我在想一个HTTP-500-Server-Error 但是......我现在不太确定因为我可以防止这个错误发生在服务器,如果我向客户端返回一个很好的错误消息。所以我想,返回一个 HTTP-200-OK,其中包含下游问题/错误的一些键/值...但这真的 OK(双关语) .对我来说,HTTP-200-OK 就像返回的答案真的 ok。

所以我不确定人们在这种情况下会做什么。

我觉得 HTTP-500 是针对发生但尚未真正处理和/或解决的错误。

最佳答案

Now, if this 3rd party api call fails for any reason (fails == 4**, 5** or even a 200 OK but the content is some error message) then what error status code should I pass back to the client calling my API?

API 应该从消费者的角度来设计。在大多数情况下,API 使用者不会关心请求是否由他们向其发出请求的服务器或由下游服务器完成。

如果对下游服务器的请求阻止您的服务器满足客户端请求,您可以使用500503 .或者,您可以返回一些缓存数据(如果有的话)并返回 2xx状态码。

关于http - 当依赖项/下游(如第 3 方 API)失败时使用什么 HTTP 状态代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52566434/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com