rest api允许更新集合

时间:2013-09-04 03:20:02

标签: odata asp.net-web-api

允许基于WebAPI OData的Web服务更新整个集合的最佳做法是什么?

例如,我们有一个管理页面,允许用户维护付款条件列表。我们创建了一个基于PaymentTerm实体的控制器,该实体允许使用标准Get,Get by key,Put,Post和Delete,以处理PaymentTerm实体的单个实例。但是,我们的UI团队想要检索一组付款条件(使用标准的Get集合轻松完成),在本地操作它,然后将整个集合放回或发布回服务器,而不是必须进行一系列的Put ,发布和删除对服务器的调用。

我已经尝试为此创建一个动作方法,虽然我已经设法让它工作,但它似乎有点kludgy,因为它需要一个ID,以及odata参数(包含集合)和ID没有意义,因为此时你不是在处理付款条款的实例,而是整个集合。

我可以创建一个新的控制器,仅用于处理一组付款条款,但我不确定会更好,因为它最终必须有一个基类声明

EntitySetController<PaymentTermCollection, int>

之类的东西,没有多大意义,因为该集合没有任何含义的密钥。

1 个答案:

答案 0 :(得分:0)

您应该使用EntitySetApiControllers考虑在您的web api中支持$ batch(OData的标准部分) 然后,您可以轻松地提交一系列更改,包括将多个实体的后置放置删除到您的服务器,在JayData的支持下,微风,...... 祝你好运