【问题标题】:What should I do about 404 errors?404错误我该怎么办?
【发布时间】:2021-08-06 04:23:35
【问题描述】:

比如说,一本书有几个适合的类别:小说和惊悚片。

但是书籍的类别不是必填字段,所以我们获取的前端书籍也没有设置任何类别,因此服务器将为获取书籍类别的请求返回 404 错误。是否可以让这些 404 错误出现在控制台中,或者我应该对此做些什么?

如果我使用 javascript 中的 fetch 方法,那么即使出现我想要的 404 错误,应用程序也会继续运行,但它们仍会出现在控制台中,据我目前所知,我不会想要。

【问题讨论】:

  • 为什么您的服务器不能返回 200 但为空的结果而不是 404?
  • 是否有规定在未找到数据时应返回什么结果?
  • “出现 404 错误是否正常”是什么意思?您是从网络安全的角度提问吗?
  • @AlinCatalin 404 响应代码表示资源不存在。在这种情况下,资源存在,它恰好是一个空集(想想null 与一个空数组)。如果您还可以控制服务器代码,我会将其更改为 200,正文为 [](用于 JSON)。
  • 我的意思是我认为如果一切都按预期工作,我应该没有错误。因此,无内容状态代码非常适合。

标签: javascript rest


【解决方案1】:

您需要在这里介绍几个“未找到”的场景:

  1. 类别存在且有条目 = 状态 200 + 条目数组
  2. 类别存在且没有条目 = 状态 200 + 空数组
  3. 类别不存在 = 状态 404

例如,在您的情况下,对 /fiction/thriller 的请求应返回 200,但 /slash_fiction 应返回 404。

同样/book/NNNN/categories 可以返回 200 + 空数组,如果该书存在但没有类别,或者如果该书不存在,则返回 404。

换句话说,为请求不引用任何已知实体的特定情况保留 404。

【讨论】:

    猜你喜欢
    • 2012-04-14
    • 1970-01-01
    • 2013-03-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-27
    • 2020-03-19
    • 1970-01-01
    • 2021-10-01
    相关资源
    最近更新 更多