歡迎光臨
每天分享高質量文章

.NET Core開發日誌——OData

簡述

OData,即Open Data Protocol,是由微軟在2007年推出的一款開放協議,旨在通過簡單、標準的方式創建和使用查詢式及交互式RESTful API。

類庫

在.NET Core中想要使用OData功能的話需要添加Microsoft.AspNetCore.OData包。

dotnet add package Microsoft.AspNetCore.OData

準備模型類

創建Edm模型

OData使用EDM,即Entity Data Model來描述資料的結構。在Startup檔案中添加創建方法。

註冊OData服務

在Startup檔案的ConfigureServices方法里註冊OData服務。

這裡要註意的是在.NET Core 2.2里,預設已經有終結點,所以要使用OData的終結點的話需要將預設選項禁用掉。

註冊OData終結點

同樣在Startup檔案里,在其Configure方法內將原來的註冊路由內容改為註冊OData的終結點。

顯示元資料

運行程式後訪問https://localhost:5001/odata/$metadata地址,可以看到所有可用模型的元資料。

創建Controller

本文實體中不考慮資料庫的操作,故而使用hard code方式構建必要的模型物件。

EnableQuery特性在需要高級查詢的場景時必須添加。

查詢

加入Controller之後,訪問https://localhost:5001/odata/Books地址,可得到所有Book資料。

訪問https://localhost:5001/odata/Books(1)地址,可得到key值為1的Book資料。

高級查詢

如果想要使用OData查詢的高級功能,可以在註冊終結點時額外加上相應的配置。

如果想要按特定條件過濾資料內容的話也很容易:
https://localhost:5001/odata/Books?$filter=Price%20le%2060

總結

不難看出,OData的真正魅力在於其對那些高級查詢功能的支持,所以在創建RESTful API時,不妨考慮使用OData,這樣應該能減少許多不必要的代碼工作。

原文地址:https://www.cnblogs.com/kenwoo/p/10360260.html

赞(0)

分享創造快樂