2016-04-26 63 views
1

因此,我为最近的一个侧项目实现了一个C#RESTful API,并且我注意到,当向API发出GET请求时,我只需要大约8个或者这样的条目,特别是最新的条目。解析来自Restful API的JSON数据C#

我也缩小了这个两个不同的问题之一,我相信我的下面的回退代码在调用deseralize对象时创建的泛型类结构之后有点基本。主要的问题可能是因为我正在使用Web客户端下载JSON数据,然后传递它,这可能更复杂,以允许我想要的功能?

using (WebClient wc = new WebClient()) 
{ 
    var json = wc.DownloadString("//api call here"); 
    jsonData = JsonConvert.DeserializeObject<List<T>>(json); 
} 

我当然在这里使用NewtonSoft Json libary。

第二,是否需要对控制器进行更改以允许我只请求8个最新条目?除了允许VS魔法发生之外,我对改变API的知识还很少。

我主要在这里寻求你的建议,因为我可能只是担心什么,但我只是觉得我的方法是错误的,如果数据开始变大,我应该改进我现有的知识。

+0

如果它的api不支持分页或限制数据,您将始终获取完整数据 – halit

+1

尝试使用OData实现您的API,以便在获取数据时查询数据。 – Ramin

+0

感谢您的评论Ramin我一直在阅读OData,它看起来相当有前途,尽管我理想地希望探索找到解决方案的可能性,而无需重新定位。 –

回答

0

为了清楚地说明这个问题是如何解决的,主要是通过在现有的API上创建特定的触发器来允许SQL运行,这是我以前不知道的。

这使我可以限制通过通用sql命令返回的数据量。在API上创建了一个单独的调用,它返回所有数据,并使用异步函数将后面的对象加载到dom中。

是的,你可以使用SQL与API生成的C#魔术。