我有嵌套搜索参数的JS对象文字结构,如下所示:
var search = {
op: 'and',
cri: [
{f: 'foo', o: '=', v: 123},
{
op: 'or',
cri: [
{f: 'bar', o: '<', 456},
{f: 'baz', o: '>', 789}
]
}
]
};
该结构的SQL查询的等效WHERE
子句将是:
(foo = 123 AND (bar < 456 OR baz > 789))
这种结构允许我很好地模拟嵌套搜索条件,但我不确定通过HTTP GET
请求传递高级数据结构的最佳做法是什么。如果是POST
请求,我只需要JSON编码并将其粘贴到具有相应Content-Type
的邮件正文中。但是,这是一个搜索,所以在语义上,我应该使用HTTP GET
。在我看来,我的选择是:
?search[0][op]=and&search[0][cri][0][f]=foo&...
)有没有比这些更好的选择?如果没有,哪三个是“最好的”?