web-services - REST API 404 : Bad URI, 或缺少资源?

标签 web-services http rest

我正在构建 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/

相关文章:

使用 SSL 时不再存储 PHP session

http - 乔姆拉!错误的 BASE HREF 将 HTTP 更改为 HTTPS

node.js - 如何通过 REST API 微服务(使用 Express 构建)将 MongoDB 更改流与 Node js 一起使用

Android - 开始新 Activity 时何时调用 REST API

通过 Jersey 发送请求时出现 javax.ws.rs.ProcessingException

java - 我在java中调用webservice时出现404错误

java - 从大型机批处理程序调用 Web 服务

java - 如何在没有 Servlet 的情况下在 Restful Web 服务(Java 和 Jersey)中获取客户端证书?

json - 如何将 json 列表传递给 Flutter 中的 http 请求(post)主体?

java - 用于访问部署到 Tomcat 7.0 的 RESTful WebApp 的 URL