REST-API,无效DELETE的正确HTTP状态代码

 淡漠少_341 发布于 2023-01-16 15:47

我正在设计一个RESTful API,它使用HTTP状态代码和动词作为通信的关键组件.

在宗教层面上,它是在RESTafarian的狂热者一面.

决定HTTP状态代码的经验法则是此图或类似资源.

GET /api/documents/1- 401用户尚未登录

GET /api/documents/1- 200用户有权限

GET /api/documents/1- 403用户没有权限

DELETE /api/documents/1- 204用户有权限

DELETE /api/documents/1- 403用户没有权限

GET /api/documents/2- 404用户权限无关,资源不存在

DELETE /api/documents/2- 404用户权限无关,资源不存在

DELETE /api/documents/1- 404用户拥有权限,资源已被删除

DELETE /api/documents/1- 404用户没有权限,资源已被删除

目标:

使用一致性

不要通过错误公开私人信息

正确使用客户端或中间层缓存的状态代码

尽早失败,将查询保持在最低限度

在这种情况下,有很多不同的状态代码可供选择(404,403,410,405),在我的情况下,我在现有资源上使用403,如果它不是你的不清除缓存,而404是非所有非现有资源,以告诉客户擦除该数据.

但我不喜欢在不属于你的资源上从403切换到404.

我很想听听其他人如何解决这个用例,或者一般情况下你认为适合发送所有无效DELETE调用的状态代码,因为我认为这是最难以简洁的一个.

(整个互联网上的很多REST讨论和答案都只是"扔了400个糟糕的请求,无论如何都不关心",我没有需要快速修复或务实破解的问题.谢谢)

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有