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

.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)

分享創造快樂