当前位置: 首页 > 知识库问答 >
问题:

没有结果的REST搜索的HTTP状态代码

罗毅
2023-03-14

我有一个用于搜索的RESTendpoint。

GET/人?名字=约翰

结果,返回一个具有HTTP状态代码<code>200 OK</code>的集合:

[
   {
      "id":11,
      "firstname":"John",
      "name":"Smith",
      "birthday":"1996-03-08"
   },
   {
      "id":18,
      "firstname":"John",
      "name":"Smith",
      "birthday":"1963-07-11"
   }
]

空搜索结果的正确 HTTP 状态代码和有效负载是什么?

>

  • HTTP 状态 200 正常,集合为空 []

    HTTP状态204无内容,集合为空[]

    HTTP状态204无内容,正文为空


  • 共有3个答案

    端木安国
    2023-03-14

    这是设计web应用程序时的惯例。200 ok与一个空的集合将是我的路要走。因为:

    • 事实证明,您的API确实返回了响应。
    • 在客户端处理200会容易得多,因为我可能假设您正在使用Javascript,其他响应代码可能会向您抛出错误
    罗心思
    2023-03-14

    国际海事组织第一个案例:

    • HTTP 状态 200 正常,集合为空 []

    然后您不必检查204并使用返回的内容,这是一个空列表。

    麻超
    2023-03-14

    我会推荐:

    HTTP Status 200 OK with a empty collection []
    

    原因是204意味着没有要发回的内容,这不是您的呼叫结果。

    在您的情况下,有一些东西要发回。这是一个碰巧由空集合组成的 Json 结果。

    更新:

    根据HTTP协议定义:

    10.2.5 204无内容:服务器已经完成了请求,但是不需要返回实体主体,并且可能想要返回更新的元信息。

    和:

    204 响应不得包含消息正文,因此始终由标头字段后面的第一个空行终止。

     类似资料:
    • 假设我们有以下 API: 没有客人匹配条件时,我应该返回哪个状态码?我的意思是没有名字为假人的客人。 它应该是带有空数组的、还是

    • 我正在设计一个类似API的REST,用于基于YUI的客户端的分页数据检索。对于 GET 请求,REST 网址如下所示: 所有参数都是可选的,即如果未给定参数,则将转储数据库中的所有数据。现在假设数据库中只有1000条记录。提出以下要求: 如果来自数据库的分页结果仍然为空,尽管请求正常,我应该返回什么状态代码?!我无法确定这是

    • Hi im构建一个REST API来上传文件。 我得到以下输出: 发送请求....请求:POST http://localhost:8080/mediahandler/mediahandler/api/image-upload http/1.1请求实体:content-type:multipart/form-data;已执行boundary=einjsk3ipttjp7wf-cxls-uznnng

    • 我已经使用ES一段时间了,但今天不起作用。我重新创建了docker compose(smt可以在那里吗?),以下是我在ES中获得的数据: 编辑:这是我的输入(这里我有\u source=False) 架构: 具有“全部匹配”查询的文档(部分): 现在查询: 退货 知道问题出在哪里吗? 编辑:使用curl查询{“query”:{“bool”:{“must”:[{“match”:{“integer”:

    • 本文向大家介绍vue2实现搜索结果中的搜索关键字高亮的代码,包括了vue2实现搜索结果中的搜索关键字高亮的代码的使用技巧和注意事项,需要的朋友参考一下 具体代码如下所示: 开源项目地址: github.com/alex-0407/v… 效果演示 总结 以上所述是小编给大家介绍的vue2实现搜索结果中的搜索关键字高亮的代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此

    • 我想知道在REST API中应该如何响应。 有效示例: 以上是一个有效的请求,当前我的HTTP状态为200,有一个JSON响应