Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 若在RESTAPI调用中找不到来自数据库的数据,则返回哪个HTTP状态代码_Java_Rest - Fatal编程技术网

Java 若在RESTAPI调用中找不到来自数据库的数据,则返回哪个HTTP状态代码

Java 若在RESTAPI调用中找不到来自数据库的数据,则返回哪个HTTP状态代码,java,rest,Java,Rest,我有一个在spring boot中开发的微服务,它调用外部数据库来获取结果,但现在有时它无法从外部数据库获取结果,因为数据库本身没有数据,因为微服务触发了一个选择性查询来从数据库获取结果,所以在这些纠正http状态码的条件下,我应该返回,应该返回http状态码204。请告知 我应该返回http状态码204吗 我目前的想法是“可能不会”。本规范包括以下备注: 204响应允许服务器指示操作已成功应用于目标资源,同时暗示用户代理不需要离开其当前“文档视图”(如果有) 如果您有一个返回空文档的GET请求

我有一个在spring boot中开发的微服务,它调用外部数据库来获取结果,但现在有时它无法从外部数据库获取结果,因为数据库本身没有数据,因为微服务触发了一个选择性查询来从数据库获取结果,所以在这些纠正http状态码的条件下,我应该返回,应该返回http状态码204。请告知

我应该返回http状态码204吗

我目前的想法是“可能不会”。本规范包括以下备注:

204响应允许服务器指示操作已成功应用于目标资源,同时暗示用户代理不需要离开其当前“文档视图”(如果有)

如果您有一个返回空文档的GET请求,我更喜欢带有0的

2xx和4xx的选择取决于您在响应主体中包含的信息:对于GET,如果您返回的是资源的表示,那么您应该返回200。如果返回描述错误的文档,则应返回4xx代码之一

以下哪项是正确答案取决于您的资源模型。搜索不返回结果是完全合理的;在这种情况下,返回空结果集的表示将调用200。如果缺少数据意味着(语义)请求的资源不存在(或者更准确地说,没有当前表示),那么您应该返回404


REST并没有告诉您哪一个是“正确的”——它只是为我们提供了一种通用语言来描述我们选择的替代方案,使通用组件能够理解正在发生的事情。

404:不存在虽然您可以遵循标准,但您也可以返回您想要的任何内容。客户负责处理代码。例如,有一个空主体的200就可以了。204,或者404,或者500如果您总是希望该端点具有可用的数据如果它是/GET-api-by-identifier,那么是404,如果它是Search/GET-api,那么是200