我正在构建 REST API,但遇到了问题。
设计 REST API 时公认的做法似乎是,如果请求的资源不存在,则返回 404。
但是,对我来说,这增加了不必要的歧义。传统上,HTTP 404 与错误的 URI 相关。因此,实际上我们是在说“要么您到达了正确的位置,但该特定记录不存在,或者互联网上没有这样的位置!我真的不确定哪个位置一个...”
考虑以下 URI:
http://mywebsite/api/user/13
如果我收到 404 回复,是因为用户 13 不存在吗?或者是因为我的网址应该是:
http://mywebsite/restapi/user/13
过去,如果记录不存在,我只会返回 NULL 结果以及 HTTP 200 OK
响应代码。它很简单,而且在我看来非常干净,即使它不一定是公认的做法。但是有更好的方法吗?
最佳答案
404 只是 HTTP 响应代码。最重要的是,您可以提供响应正文和/或其他 header ,其中包含开发人员将看到的更有意义的错误消息。
关于web-services - REST API 404 : Bad URI, 或缺少资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20229696/