我的服务器是否应该通过嵌套式' /代理请求传递http状态代码?

时间:2016-08-23 16:30:36

标签: rest http http-status-codes

我有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,我认为最好的位置是在我的服务器/端点上。

1 个答案:

答案 0 :(得分:0)

我认为一般的答案是返回502。

然而,对于这个请求,401更有意义。特别是如果他们没有授权您的服务。可能还有其他用例可以返回上游状态代码。

此外,如果确实返回502,则返回上游状态和警告会很有帮助。这些应该在警告标题中返回。