【问题标题】:Best practice for 404 page for APIAPI 404 页面的最佳实践
【发布时间】:2015-05-02 14:28:53
【问题描述】:

我现在正在编写 REST API。我遇到了一个问题 - api 中的 404 页面应该是什么样子。
当然,最好显示 API 文档的用户链接。
但是一般的页面呢。
它应该是漂亮的页面还是只是 JSON 或 XML 格式的简单文本。
如果页面有很多图像/脚本,我们必须低效地使用网络连接。 当然,我们只能获得 http 响应的标头,但这似乎是一个不好的解决方案。

我查看了几个著名的 API 以及它们如何实现 404 页面。

Flickr 和 Twitter 都有 404 个页面,其中包含一些图片、css。

但 Github 的响应非常简单,只是带有以下内容的 JSON。

{
  "message": "Not Found",
  "documentation_url": "https://developer.github.com/v3"
}

我认为这是一个很好的响应示例(没有图像和 css),如果不是,请纠正我。

所以我的问题是 404 API 响应的最佳实践是什么,它应该非常简单(如在 GitHub 上)还是添加一些其他有关 API 的有用信息更好。

提前感谢大家。

【问题讨论】:

    标签: json api rest http-status-code-404 httpresponse


    【解决方案1】:

    如果有人请求 API,他们很可能会捕获 404 异常并查找 HttpStatusCode。如果是 404,他们不需要更多信息,只需报告找不到用户 (?)。 所以你做什么并不重要,因为 99% 的请求甚至不会下载响应站点

    【讨论】:

    • 但是为什么他们对主站点 (github.com/asdasdasdsadsa) 和 API 页面 (api.github.com/sadsa) 使用不同的页面?
    • @CRROSP 没有真正的理由。一个简单的 json 错误消息更适合 API。
    • 这个响应的内容怎么样?像上面一样,到 API 文档?
    【解决方案2】:

    API 中的404 Not Found 响应根本不需要包含任何内容。客户端代码可能会在查看请求内容之前查看状态码。

    到目前为止,我编写的每个 REST 客户端代码都与 404 Not Found 响应的主体无关。除了找不到资源这一事实之外,我无法想象身体中有任何用处。

    【讨论】:

    • github响应消息比的目的是什么。
    • 询问 GitHub。我没有编写他们的 API。
    猜你喜欢
    • 2012-12-02
    • 2010-09-19
    • 1970-01-01
    • 2015-08-16
    • 1970-01-01
    • 2013-07-31
    • 1970-01-01
    • 2010-09-16
    • 1970-01-01
    相关资源
    最近更新 更多