示例:我们有以下操作:
GET /employees
我必须具有允许使用多个名称作为参数进行过滤的功能。 我代表它如下:
GET /employees?empNames=xxx,yyy,zzz
但是,现在我没有名为empName的参数,而是有两个参数empFirstName和empSurname。
如下所示:
GET /employees?empFirstName=xx&empSurname=x
但我仍然需要API来接受多个名称(empFirstName和empSurname)过滤器。
我可以通过以下几种方式来表示它:
GET /employees?name=(xx,x),(yy,y),(zz,z)
GET /employees?name=xx:x,yy:y,zz:z
GET /employees?name=[{empFirstName=xx, empSurname=yy},{empFirstName=yy, empSurname=zz},{empFirstName=aa, empSurname=bb}]
这种过滤的最佳宁静表示可能是什么。
您是否需要在URI,a:或a或其他内容中使用哪个分隔符? 最简单,最好的方法是什么?
答案 0 :(得分:0)
好吧,似乎你的需求非常具体,发送带有一堆参数的标准GET请求是不够的。没有理由限制自己使用这种方法。我会考虑a POST request which may be useful in searching(感谢以更友好的方式接受数据)。
然后我会准备一个请求正文
POST /employees/search
{
"conditions": [
{
"empFirstName": "xx",
"empSurname": "yy"
},
{
"empFirstName": "yy",
"empSurname": "zz"
},
...
]
}
或甚至更明确地说,根据创建逻辑查询的一些现有规则,mongo notation for example:
{
"$or": [
{
"empFirstName": "xx",
"empSurname": "yy"
},
{
"empFirstName": "yy",
"empSurname": "zz"
},
...
]
}