考虑接受GET请求列表项的一个RESTful API:当提供无效查询参数时,REST API是否应返回4xx响应?
GET /1.0/items/
>> {"items": [{}, {}, ..., {}]} # All items returned
现在考虑每个项目都有一个色域,而且我可以过滤我的项目:
GET /1.0/items?color=blue
>> {"items": [{}, {}, ..., {}]} # Only blue items returned
如果我的API收到无效的查询参数(上一个有效的查询参数不无效值):
GET /1.0/items?notvalid=blue
预期的行为应该是什么?我的API是否应该返回一个4xx
响应,通知客户端请求无效,或者API是否应该执行项目列表,就好像没有提供过滤器参数一样?