我有一个 api 可以访问我的服务器以从另一个站点获取数据。 (我将以 facebook 为例)
当我点击该 api 端点时,服务器将尝试为我的 facebook 帐户返回 facebook 图片。如果我还没有授权我的 facebook 帐户,我应该将 401 状态代码发送回前端,还是在服务器上处理它并发送一个 200 并返回失败的响应。 (我不关心具体怎么说失败了)
例子:
我点击“从 facebook 获取照片”按钮。
mydomain.com/get-facebook-photos/
---> 服务器触发到 facebook.com/whatever-the-url-is/
Facebook 返回一个401 因为我需要登录。
mydomain.com/get-facebook-photos/
我的响应代码应该是什么?
我原以为我自己的端点在我被授权访问时返回 401 会很奇怪,但下一级却不是。
这方面的最佳做法是什么。我更喜欢某种类型的文档,其中列出了最佳实践和原因等。
显然,我必须在某个地方处理 401,我认为最好的地方是在我的服务器/端点上。
最佳答案
我认为一般的答案是返回 502。
然而,对于这个请求,401 更有意义。特别是如果他们没有授权您的服务。可能还有其他用例需要返回上游状态代码。
此外,如果确实返回 502,返回上游状态和 Warning 也很有帮助。这些应该在警告 header 中返回。
关于rest - 我的服务器是否应该传递来自 'nested'/proxy 请求的 http 状态代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39106438/