RESTful URL设计 - 如何使用参数之间的OR进行查询

Lio*_*orH 12 rest

您将如何设计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}

但这会使客户端解析和扩展或减少过滤字段变得更加复杂.

你有什么建议?

ann*_*ata 11

查询参数不是定义和相关的,它们只是惰性参数 - 你如何处理它们取决于你.对于OR搜索,我建议:

GET /myresources?field1=x&field2=y&inclusive=true
Run Code Online (Sandbox Code Playgroud)

如果您想默认为AND关系(合理),您当然可以使用任何其他扩展名.