HTTP GET 200 vs 204

时间:2016-03-04 21:43:21

标签: rest http http-status-code-404 http-status-code-200 http-status-code-204

我们正在设计一个公共API,并尝试通过以下案例找出GET的最佳做法:

路径参数:

/orders/{orderId}

发现:200具有反应体 找不到:404

查询参数:

/Products/{productId}/orders?color={color}

找到订单:200与响应男孩

未找到:在这种情况下,这应该是200或204甚至是404吗?

在我看来,在这种情况下,它应该是200或204,因为查询参数仅执行过滤效果。但是在这种情况下我们应该返回200或204吗?

1 个答案:

答案 0 :(得分:0)

假设

(1) 第一个 URL 仅用于一个订单。

(2) 第二个 URL 是一个包含 0 个或多个订单的列表。


第一个响应中缺少订单应该是 404,因为非订单不是订单。

第二个响应中缺少的订单应该是 200,因为空列表仍然是列表。