我对rest apis很熟悉,但是今天有人问我:“如果资源存在但它的内容由于某种原因被阻止了怎么办?”
示例:尝试检索users/18
但 id 为 18 的用户已被禁止/阻止/无论如何。
我认为最好的答案是返回 204,但是如何通知客户资源不可用的原因?
有没有最好的做法?
我对rest apis很熟悉,但是今天有人问我:“如果资源存在但它的内容由于某种原因被阻止了怎么办?”
示例:尝试检索users/18
但 id 为 18 的用户已被禁止/阻止/无论如何。
我认为最好的答案是返回 204,但是如何通知客户资源不可用的原因?
有没有最好的做法?
我认为最好的答案是返回 204,但是如何通知客户资源不可用的原因?
不,204 不是一个好的选择——特别是因为 204 不能包含 message body。
我希望要么
403(Forbidden)状态码表示服务器理解请求但拒绝授权。希望公开请求被禁止的原因的服务器可以在响应负载(如果有)中描述该原因。
希望“隐藏”当前存在的被禁止目标资源的源服务器可以改为响应状态码 404(未找到)。
此状态代码表示服务器拒绝访问资源作为法律要求的结果。