用于批量读取的REST Web API设计

时间:2013-05-06 20:36:10

标签: asp.net-web-api

我必须设计一个API或一组API,用于从SQL Server Table读取批量数据,我需要按日期和其他参数获取数据。现在我不想要N no的列表。 API中的方法是无限期的,并且会根据用户需求不断增加。

那我应该如何设计呢。

1 个答案:

答案 0 :(得分:1)

我会考虑使用WCF数据服务和OData,以便您的方法可以接受“线上SQL”请求。这为您提供了一个可以接受过滤条件的URL,例如

// Products表中的所有数据(在服务器端启用分页!)

http://localhost/Products

//添加WHERE子句

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

//选择列的子集

http://localhost/Products?$select=ToyName,ToyPrice

您还可以使用ASP.NET Web API项目类型并启用OData支持,但URL功能稍受限制。

话虽如此,我认为使用Web服务进行批量数据操作是不寻常的,因为数据序列化涉及的开销以及数据包必须通过HTTP分割的方式。这取决于你的数据笨重的真实程度。