REST API-部分响应的HTTP状态

时间:2019-02-13 15:26:40

标签: api http-status

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

GET myapi/resource_id

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

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

GET myapi/resource_id1,resource_id2

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

  
      
  1. 200,错误码中带有JSON解释

  2.   
  3. 206,可以使用错误键中的JSON解释更明确

  4.   
  5. 400/404代码,但这不是很好,因为API仍返回两个信息之一

  6.   
  7. 另一种解决方案?

  8.   

谢谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我认为这里有2个选择。

  • 发回200,甚至不要提及丢失的资源。
  • 将404发送为空。

206用于范围请求,400用于格式错误的请求,因此此处均不适用。