2013-05-06 44 views
-1

我必須設計一個API或一組用於從SQL Server Table讀取批量數據的API,並且需要按日期和其他參數獲取數據。現在我不想有N號的名單。因爲該列表是無限期的,並且會根據用戶需求不斷增加。用於批量讀取的REST Web API設計

那麼我應該如何設計這個。

回答

1

我會考慮使用WCF Data Services和OData,以便您的方法可以接受'SQL over the wire'請求。這會爲您提供一個可接受過濾條件的網址,例如

//所有從Products表(啓用服務器端分頁!)數據

http://localhost/Products 

//添加一個WHERE子句

http://localhost/Products?$filter=Category eq 'Toys' 

//選擇

列的子集
http://localhost/Products?$select=ToyName,ToyPrice 

您也可以使用ASP.NET Web API項目類型並啓用OData支持,但URL功能是slig非常有限。

話雖如此,我認爲使用Web服務進行批量數據操作是不常見的,因爲數據序列化涉及的開銷以及數據包必須通過HTTP進行分割的方式。這取決於你的數據真的是如何笨重的

+0

謝謝奧利。那是我的問題。我不能有一個Webapi一次帶來300,000行,但我不想有單獨的get方法通過根據不同的參數對它們進行過濾來獲取記錄。請建議我們如何設計api以獲得不同的過濾器。 – user2318300 2013-05-06 21:15:02