我正在構建使用filter
參數來控制搜索結果的REST API。例如,人們可以通過調用搜索用戶:REST API篩選器運營商最佳做法
GET /users/?filter=name%3Dfoo
現在,我的API應該允許許多不同filter
運營商。 數值運算符如equals
,greater than
,less than
,字符串運算像contains
,begins with
或ends with
和日期運營商,如year of
或timediff
。此外,AND
和OR
組合應該是可能的。
基本上,我想支持底層MySQL數據庫運營商的一個子集。
我發現很多不同的實現(兩個很好的例子是Google Analytics和LongJump)似乎使用自定義語法。
看着我的要求,我可能會設計一個自定義的語法相當類同MySQL的運算符的語法。
但是,如果有任何的最佳做法成立,我應該遵循和我是否應該考慮什麼事我不知道。謝謝!
你有沒有試過/聽說過SPARQL? – 2014-09-29 16:21:51
不,讓我看看 – Horen 2014-09-29 16:22:53
看看[Solr queries](http://lucene.apache.org/core/2_9_4/queryparsersyntax.html)(它們也是通過HTTP GET完成的)。我也可以想象一個[MongoDB-like query](http://docs.mongodb.org/manual/tutorial/query-documents/)(帶有json和url編碼)。 – DanFromGermany 2014-10-08 13:43:49