我们正在设计一个公共API,并尝试通过以下案例找出GET的最佳做法:
路径参数:
/orders/{orderId}
发现:200具有反应体 找不到:404
查询参数:
/Products/{productId}/orders?color={color}
找到订单:200与响应男孩
未找到:在这种情况下,这应该是200或204甚至是404吗?
在我看来,在这种情况下,它应该是200或204,因为查询参数仅执行过滤效果。但是在这种情况下我们应该返回200或204吗?
答案 0 :(得分:0)
假设
(1) 第一个 URL 仅用于一个订单。
(2) 第二个 URL 是一个包含 0 个或多个订单的列表。
第一个响应中缺少订单应该是 404,因为非订单不是订单。
第二个响应中缺少的订单应该是 200,因为空列表仍然是列表。