使用过滤器时,在空的GET响应中返回哪个REST API状态代码


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

为了理解我的问题,请查看下一种情况:

GET api.url.com/cars返回200,返回一组蓝色和绿色的汽车

获取api.url.com/cars?color=red返回204,车身中没有数据,因为我在数据库中没有红色汽车

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

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