RESTAPI:找不到数据的HTTP返回代码是什么?

RESTAPI:找不到数据的HTTP返回代码是什么?,api,rest,http,Api,Rest,Http,如果有人能帮我们解决这个问题,我们可能会完成这个系统,哈哈:^ 因此,如果您有一个REST API。。对于说正在返回患者详细信息 然后你发送一个带有患者id的请求。。。 但数据库中实际上不存在具有该患者id的患者 您的API应该返回什么响应 1. a 404 ? 2. a 204 ? 3. a 200 with something in the body to indicate no patient found.. 谢谢使用404: 404找不到 服务器找不到请求的资源。在浏览

如果有人能帮我们解决这个问题,我们可能会完成这个系统,哈哈:^

因此,如果您有一个REST API。。对于说正在返回患者详细信息

然后你发送一个带有患者id的请求。。。 但数据库中实际上不存在具有该患者id的患者

您的API应该返回什么响应

 1. a 404  ?  
 2. a 204  ? 
 3. a 200 with something in the body to indicate no patient found..
谢谢使用404:

404找不到

服务器找不到请求的资源。在浏览器中,这意味着无法识别URL。在API中,这也意味着 端点有效,但资源本身不存在。 服务器也可以发送此响应而不是403来隐藏 存在来自未经授权客户端的资源。这一反应 代码可能是最著名的一个,因为它经常出现在网络上 网络

来自MDN Web文档

您的API应该返回什么响应

 1. a 404  ?  
 2. a 204  ? 
 3. a 200 with something in the body to indicate no patient found..
视情况而定

状态代码是域中的元数据。状态代码将HTTP响应的状态传递给通用组件。例如,是状态代码向缓存宣布响应的消息体是资源的表示还是资源的表示

数据库中的行是实现细节;就REST而言,不必有数据库

REST关心的是资源,在本例中,资源是否具有当前表示形式。REST不会告诉您资源模型应该是什么,或者它是如何实现的。REST通过其标准化消息约束告诉您什么,在本例中,这意味着HTTP标准是如何描述资源模型中发生的事情

例如,如果我的资源是things to do,并且所有的事情都完成了,那么我通常希望GET请求things to do返回一个2xx状态代码,其中表示无事可做,这可能是一个完全空的文档,也可能是一个包含空项目列表的网页,或者是一个JSON文档。。。。你明白了

如果数据库中的空结果集指示URI中存在拼写错误,则404是合适的

<> P>这可能有助于考虑一个乏味的Web服务器,以及如何检索一个空文件不同于检索一个不存在的文件。 但是,与以前一样,在某些资源模型中,如果没有文件,则返回默认表示可能是有意义的

如果您有一个REST API。。对于说正在返回患者详细信息

在资源模型中,有一份文件说我们没有该患者的记录是否合理

我不是医学文档领域的专家,但对我来说,收回一份没有任何信息的文档听起来很合理。这是一张关于这个病人的所有信息的列表和一张空白列表

您的API应该返回什么响应

 1. a 404  ?  
 2. a 204  ? 
 3. a 200 with something in the body to indicate no patient found..
如果您返回的是错误表示,即解释某人请求的文档丢失的文档,那么您应该使用404 Not Found状态代码以及其他元数据,指示响应可以缓存多长时间,等等

如果要返回文档,则应使用带有标题的200 OK


204是专用的,不应在此处使用。内容长度为0的204和200之间的关键区别在于对。

Brilliant的影响。感谢所有回应的人。