gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 15:06:07 26 4
gpt4 key购买 nike

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

正如我从 HTTP RFC 中看到的那样,我们应该返回代码 405:Method not allowed 并发回 Allowed 响应 header 和列表允许的方法。

我看到了,例如GitHub API 返回 404:Not found 在我上面解释的情况下(发送 POST 到 root)。

什么是正确的回应? 404 还是 405?我发现 405 对开发人员更友好,所以有什么理由不使用它吗?

最佳答案

在这种情况下,根据 HTTP 规范和 REST 指南,预期的行为是返回 405 Method Not Allowed资源就在那里,因为 GET 有效,所以 404 Not Found 会令人困惑。

我不熟悉 GitHub API但在某些情况下,我看到对于 403 Forbidden,它还会返回 404 Not Found:

Requests that require authentication will return 404 Not Found, instead of 403 Forbidden, in some places. This is to prevent the accidental leakage of private repositories to unauthorized users.

也许根地址上的行为是通常处理此类情况的更大机制的一部分,谁知道呢。 Maybe you could ask

关于api - REST API 中错误 HTTP 方法的返回代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28086582/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com