繁体   English   中英

REST api:无内容时的最佳实践

[英]REST api: best practices in case of no content

我对 rest api 非常熟悉,但今天有人问我:“如果资源存在但它的内容由于某种原因被阻止了怎么办?”

示例:尝试检索users/18但 id 为 18 的用户已被禁止/阻止/无论如何。

我认为最好的答案是返回 204,但是如何通知客户资源不可用的原因?

有没有最好的做法?

我认为最好的答案是返回 204,但是如何通知客户资源不可用的原因?

不,204 不是一个好的选择——特别是因为 204 不能包含 message body

我希望要么

403 禁止

403(Forbidden)状态码表示服务器理解请求但拒绝授权。 希望公开请求被禁止的原因的服务器可以在响应负载(如果有)中描述该原因。

404 未找到

希望“隐藏”当前存在的被禁止目标资源的源服务器可以改为响应状态码 404(未找到)。

451 因法律原因不可用

此状态代码表示服务器拒绝访问资源作为法律要求的结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM