.NET Core开发日志——OData
簡述
OData,即Open Data Protocol,是由微軟在2007年推出的一款開放協(xié)議,旨在通過簡單、標準的方式創(chuàng)建和使用查詢式及交互式RESTful API。
類庫
在.NET Core中想要使用OData功能的話需要添加Microsoft.AspNetCore.OData包。
dotnet add package Microsoft.AspNetCore.OData準備模型類
創(chuàng)建Edm模型
OData使用EDM,即Entity Data Model來描述數(shù)據(jù)的結(jié)構(gòu)。在Startup文件中添加創(chuàng)建方法。
注冊OData服務
在Startup文件的ConfigureServices方法里注冊OData服務。
這里要注意的是在.NET Core 2.2里,默認已經(jīng)有終結(jié)點,所以要使用OData的終結(jié)點的話需要將默認選項禁用掉。
注冊OData終結(jié)點
同樣在Startup文件里,在其Configure方法內(nèi)將原來的注冊路由內(nèi)容改為注冊OData的終結(jié)點。
顯示元數(shù)據(jù)
運行程序后訪問https://localhost:5001/odata/$metadata地址,可以看到所有可用模型的元數(shù)據(jù)。
創(chuàng)建Controller
本文實例中不考慮數(shù)據(jù)庫的操作,故而使用hard code方式構(gòu)建必要的模型對象。
EnableQuery特性在需要高級查詢的場景時必須添加。
查詢
加入Controller之后,訪問https://localhost:5001/odata/Books地址,可得到所有Book數(shù)據(jù)。
訪問https://localhost:5001/odata/Books(1)地址,可得到key值為1的Book數(shù)據(jù)。
高級查詢
如果想要使用OData查詢的高級功能,可以在注冊終結(jié)點時額外加上相應的配置。
如果想要按特定條件過濾數(shù)據(jù)內(nèi)容的話也很容易:
https://localhost:5001/odata/Books?$filter=Price%20le%2060
總結(jié)
不難看出,OData的真正魅力在于其對那些高級查詢功能的支持,所以在創(chuàng)建RESTful API時,不妨考慮使用OData,這樣應該能減少許多不必要的代碼工作。
原文地址:https://www.cnblogs.com/kenwoo/p/10360260.html
.NET社區(qū)新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com
總結(jié)
以上是生活随笔為你收集整理的.NET Core开发日志——OData的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 所有人都可以是开发人员——《Office
- 下一篇: ML.NET 0.10特性简介