我正在使用 ROA(面向资源的架构)为我的应用程序构建一个 REST 接口。
我想让客户端能够在 URL 中指定搜索参数。所以客户可以说“给我所有的人:
- "first_name" 等于 "BOB"
- “年龄”大于“30”
- 按“姓氏”排序
我在想类似的事情:
GET /PEOPLE/{query_parameters}/{sort_parameters}
...也许
GET /PEOPLE?query=<query_string>&sort=<sort_string>
...但我不确定哪种语法适合在 COLUMN_NAME-OPERATOR-VALUE 三重中指定。我在想也许是这样的:
column_name.operator.value
所以客户可以说:
GET /PEOPLE?query=first_name.EQUALS.bob&query=age.GREATER_THAN.30&sort=last_name.ASCENDING
我真的不想在这里重新发明轮子,有一些公认的方法可以做到吗?我正在使用 Restlets,我不知道这是否会有所不同。