当使用过滤器时,空 GET 响应中的 REST API 状态代码 return

Which REST API status code to return among an empty GET response, when the filter is used

为了理解我的问题请看下一个情况:

GET api.url.com/cars return 200辆蓝绿车合集

GET api.url.com/cars?color=red return 204 body 没有数据因为我没有红色车在数据库中

我应该 return 200 和空对象而不是 204 吗?如果是,为什么?我想要一个解释,如果可能的话,我想要一个消息来源。谢谢!

就个人而言,我会使用 200 和一个空集,因为请求者进行了有效查询并期望得到有效响应...空集告诉它没有有效的汽车,并进行处理相应地(即 post 一条消息),而 204 响应告诉它留在同一页面上,就好像什么都没有发生一样