語境:是否可以將我的Web API轉換爲OData API?
我有以下形式的現有Web API: http://site/api/ {地區} slicer1 =阿爾法& slicer1 =公測&開始時間=有時&結束時間=有時
它在ASP中實現MVC。 API的函數處理參數並將它們提供給SQL查詢。成功時,它會返回一個IHttpActionResult和來自SQL的JSON數據。
請注意,API缺少實體模型或實體關係圖。它本質上只是一個SQL查詢的包裝器。
問題:
最近,我開始學習的OData。看起來OData專爲URL本身設計,以控制數據的過濾方式,而不是創建自定義SQL查詢來過濾。
因此,我想回答我的Web API是否可以轉換爲OData API,如果是,那麼需要做什麼OData功能(例如,OData v4功能可能會有用) ?
澄清:
- 我沒有任何代碼寫的,我也沒有要求代碼作爲答案。
- 我在尋找什麼OData功能可以啓用我的場景(v4功能,操作等等),或者OData和Web API如此不同以至於我的問題沒有意義。
- 預計「你爲什麼問」這個問題 - 我只是對技術上的可行性感興趣,因爲它是一種學習練習。
你提到了「例如,你可以決定使用它的(類型安全的)查詢字符串解析功能,並從解析的過濾器樹中生成你自己的SQL」 - 你知道我在哪裏可以找到這個在線例子? – Craig
是的。例如這裏:https://github.com/OData/ODataSamples/tree/master/WebApi/v4/NHibernateQueryableSample。這個活頁夾的結果是一個NHibernate查詢,它幾乎看起來像SQL。你可以把它作爲一個起點。 – Dejan