OData是微軟支持的一種查詢標准,它的第四版使用了REST規范,看起來簡潔多了。它的最大的特點是可以在客戶端自行配制查詢條件,使用它構建REST服務時再也不用擔心查詢的擴展性問題了。
如下是幾個簡單的示例:
-
GET serviceRoot/People?$filter=FirstName eq 'Scott'
-
GET serviceRoot/Airports?$filter=contains(Location/Address, 'San Francisco')
-
GET serviceRoot/People('scottketchum')/Trips?$orderby=EndsAt desc
更多的示例可以參看官方的文檔:http://www.odata.org/getting-started/basic-tutoria
由於它是基於Rest的服務,使用的是通用的協議和序列化方式,跨語言是比較簡單的事情,它的主頁上也有一些各種語言調用的例子。。
構建OData的CURD服務
微軟在WebAPI框架中提供了對OData的支持,具體可以參考文章:Create an OData v4 Endpoint Using ASP.NET Web API 2.2。服務器和客戶端的庫都有,使用起來還是非常方便的。