首页 > 解决方案 > REST API - 部分响应的 HTTP 状态

问题描述

我遇到以下情况:我有一个允许我检索唯一资源的 API:

GET myapi/resource_id

如果此资源不存在,我将返回404HTTP 状态代码。

此 API 还允许通过同一请求检索多个资源:

GET myapi/resource_id1,resource_id2

如果两个资源之一不存在,我应该发回哪个 HTTP 状态代码?

  1. 200 错误键中的 JSON 解释

  2. 206 允许更明确地在错误键中的 JSON 中进行解释

  3. 400 / 404 代码,但这并不好,因为 API 仍然返回两个信息之一

  4. 另一种解决方案?

谢谢您的帮助。

标签: apihttp-status

解决方案


我认为这里有两个选择。

  • 发回 200,甚至不要提及丢失的资源。
  • 用空的正文发回 404。

206 用于范围请求,400 用于格式错误的请求,因此这些都不适用。


推荐阅读