基于JSON查询参数的RESTful API设计
我有这个查询过滤器:基于JSON查询参数的RESTful API设计,api,rest,api-design,Api,Rest,Api Design,我有这个查询过滤器: { "$find": { "$startsWith": { "username": "john" }, "$minus": { "$find": { "$startsWith": { "firstName" : "No
{
"$find": {
"$startsWith": {
"username": "john"
},
"$minus": {
"$find": {
"$startsWith": {
"firstName" : "Not John"
}
}
}
}
}
这主要是查找以“john”开头的username
实体,但也查找名为“Not john”的实体
我想问一下,将其表示为纯查询参数的最RESTful的方式是什么?
以下是我的一些想法:
/entities?startsWith[username]="John"&minus[startsWith.firstName]="Not John"
其他运算符包括“$减号”、“$相交”和“$并集”,它们在结构上基本相似,如下所示
下面是另一个非常重要的例子:
{
"$find": {
"$startsWith": {
"firstName": "John"
},
"$minus": {
"$find": {
"age": {
"min": 18,
"max": 40
}
}
}
}
}
为此,我想说的是:
/entities?startsWith[firstName]="John"&minus[min.age]=18&minus[max.age]=40
这里的问题是,我理解HTTP查询参数并不总是遵循顺序,因此,由于顺序很重要,因此以这种方式设计查询参数将是一个问题
安全和宁静的方式是什么