Breeze.js - 重新定位保存到自定义端点

时间:2013-11-28 16:44:25

标签: javascript odata breeze

我使用Breeze.js与OData服务进行通信,并希望能够获取和保存数据。 因此,有两个端点应该用于获取和节省资源:

1. https://domain.com/smth/getdata
2. https://domain.com/smth/postdata

我创建了一个管理器,其目的是获取数据,并在需要时将它们发送回服务器:

var smthManager = new EntityManager(http://domain.com/smth/getdata);

在smthManager中更改实体后,我必须保存它们(使用endpoind 2)。调查documentation我找到了下一个陈述:

  

您可以将“保存”重新定位到自定义服务器端点,例如   在一个单独的

上任意命名的动作方法

所以这是“重新定位保存”的代码:

var so = new SaveOptions({ resourceName: "postdata" }); // also tried with resourceName: 'http://domain.com/smth/postdata'
myEntityManager.SaveChanges(null, so );

但是在完成所有这些操作后,我可以看到该请求已发送到https://domain.com/smth/getdata/$batch

1 个答案:

答案 0 :(得分:1)

使用WebApi或WebApi2服务的Breeze支持多个服务器端点。使用OData服务的Breeze不会,因为OData规范本身仅支持服务的单个$ batch保存。

请参阅http://www.odata.org/documentation/odata-v2-documentation/batch-processing/

请注意,任何Breeze WebApi或WebApi2服务都是可以直接从OData服务提供的内容的超集,并且通常也很容易公开您的模型(只要您有.NET服务器)。