2013-10-24 75 views
1

我正在構建一個RESTful API,它需要對其多個資源進行高級篩選。我需要支持幾乎所有你可以在SQL where子句中做的事情。其他人如何在他們的API中實現此功能?其他人如何在RESTful API中實現複雜過濾?

我做的研究越多,它看起來像我需要找到一個已經定義的語法,如SQL或RQL的解析器,或寫我自己的,大大簡化。我正在Python中工作。

回答

3

你在找什麼是OData標準。 OData是一個REST + ATOM組合,它包含一個URL內查詢語言。

這裏是一個Web服務的查詢的OData調用的一個例子:

http://services.odata.org/OData.svc/Category(1)/Products?$top=25&$orderby=name 

的前25名的產品類別1中,從OData.svc web服務按名稱排序這(虛構的)查詢搜索。

查看http://www.odata.org/瞭解更多關於OData的信息。

有Python的實現可用,但我不知道他們在這個階段有多高級。檢查出http://code.google.com/p/odata-pyhttps://bitbucket.org/dowski/myohdata/src