我们的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(使用前将#替换为@)