1

I am building a RESTful API which requires advanced filtering for a number of its resources. I need to support almost everything you can do in a SQL where clause. How have others implemented this functionality in their APIs?

The more research I do the more it looks like I need to either find a parser for an already defined grammar like SQL or RQL or write my own that is drastically simplified. I am working in Python.

4

1 に答える 1

3

あなたが探しているのは、OData 標準です。OData は、URL 内クエリ言語を含む REST+ATOM の組み合わせです。

Web サービスでの OData クエリ呼び出しの例を次に示します。

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

この (架空の) クエリは、OData.svc Web サービスから名前順に並べられたカテゴリ 1 の上位 25 の製品を検索します。

OData の詳細については、http: //www.odata.org/ を参照してください。

利用可能な Python の実装がありますが、現段階でどれだけ高度かはわかりません。http://code.google.com/p/odata-pyhttps://bitbucket.org/dowski/myohdata/srcを確認してください。

于 2013-10-24T13:55:13.937 に答える