REST API 中错误 HTTP 方法的返回代码?

2024-01-07

我们的API用户可以获得root发送文件(收集清单)GET请求根 API 地址。如果他发送POST,我们应该返回一些东西。同样的问题也适用于其他资源路径,例如发送PATCH在查询路径等上。并非所有方法在某些路径上都有意义。

正如我从 HTTP RFC 中看到的那样,我们应该返回代码405: 方法不允许并发回Allowed带有允许方法列表的响应标头。

我看到例如GitHub API 返回404: 未找到在我上面解释的情况下(发送POST为根)。

正确的反应是什么?404 or 405? I see 405对开发者更友好,那么还有什么理由不使用它呢?


在这种情况下,根据 HTTP 规范和 REST 指南,预期行为将返回405 Method Not Allowed. 资源就在那里,因为 GET 有效,所以404 Not Found会很混乱。

我不熟悉GitHub API https://developer.github.com/v3/#authentication但在某些情况下我认为403 Forbidden它也返回404 Not Found:

在某些地方,需要身份验证的请求将返回 404 Not Found,而不是 403 Forbidden。这是为了防止私人存储库意外泄露给未经授权的用户。

也许根地址上的行为是一般处理此类情况的更大机制的一部分,谁知道呢。也许你可以问 https://github.com/contact?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

REST API 中错误 HTTP 方法的返回代码? 的相关文章

随机推荐