小编典典

REST API 404:错误的 URI 或缺少资源?

all

我正在构建一个 REST API,但我遇到了一个问题。

似乎在设计 REST API 时公认的做法是,如果请求的资源不存在,则返回 404。

然而,对我来说,这增加了不必要的歧义。HTTP 404 传统上与错误的 URI 相关联。所以实际上我们是在说
“要么你到了正确的地方,但那个特定的记录不存在, 要么 互联网上没有这样的位置!我真的不确定是哪一个......”

考虑以下 URI:

http://mywebsite/api/user/13

如果我返回 404,是因为用户 13 不存在吗?还是因为我的 URL 应该 是:

http://mywebsite/restapi/user/13

HTTP 200 OK过去,如果记录不存在,我只是返回带有响应代码的 NULL
结果。这很简单,在我看来非常干净,即使它不一定被接受。但是有没有更好的方法来做到这一点?


阅读 21

收藏
2022-05-13

共1个答案

小编典典

404 只是 HTTP 响应代码。最重要的是,您可以提供响应正文和/或其他标头,其中包含开发人员将看到的更有意义的错误消息。

2022-05-13