您将如何设计RESTful查询以支持参数之间的OR操作数.假设我的资源有两个字段field1和field2.您将如何设计URL以启用以下查询:
"获取myresources where field1 = x OR field2 = y"
在REST中设计查询非常简单,但我只看到了查询字段之间支持AND的查询.例如/ myresource?field1 = x&field2 = y
一种可能的解决方案是提供单个查询参数,其中包含自由文本部分,例如:
GET/myresource?q = {field1 = x OR field2 = y}
但这会使客户端解析和扩展或减少过滤字段变得更加复杂.
你有什么建议?
查询参数不是定义和相关的,它们只是惰性参数 - 你如何处理它们取决于你.对于OR搜索,我建议:
GET /myresources?field1=x&field2=y&inclusive=true
如果您想默认为AND关系(合理),您当然可以使用任何其他扩展名.