【发布时间】:2014-11-03 03:16:54
【问题描述】:
这是someone else's question 关于过滤/查询汽车列表的后续行动。那里对 RESTful 过滤请求的建议是将过滤器表达式放在 URI 的查询中,如下所示:
/cars?color=blue&type=sedan&doors=4
没关系。但是如果我的过滤查询变得更加复杂,我需要使用布尔运算符,例如:
((color=blue OR type=sedan) AND doors=4) OR color=red
也就是说,我想找一辆蓝色的四门车或四门轿车,但如果车是红色的,我就买它,而不关心其他任何属性。
在 RESTful URI 的查询参数中提供布尔表达式是否有任何约定?我想我可以通过创建一些新的查询表达式语言并将其放在POST 中,但这似乎是一种繁重且专有的方法。其他人是如何解决这个问题的?
【问题讨论】:
-
Odata 有逻辑运算符,虽然我不喜欢它的语法 docs.oasis-open.org/odata/odata/v4.0/…
标签: rest uri url-parameters boolean-expression