Breeze保存包格式

时间:2015-02-20 14:46:04

标签: breeze openedge

我正在使用Breeze JS,并希望使用Progress Openedge实现具有完整CRUD功能的服务器。 Breeze网站谈论了很多关于能够编写自己的服务器实现的信息,但我找不到描述Breeze发送给服务器的保存包格式的信息。有谁知道任何文档或架构?

2 个答案:

答案 0 :(得分:1)

此文档隐藏在DataServiceAdapters页面中。在标题 saveChanges(saveContext,saveBundle) - >下看一半。许

this SO answer中有一个JSON的例子。

答案 1 :(得分:0)

SaveBundle没有记录的理由很充分:它在BreezeJS中没有定义!

您的服务器需要的任何序列化对象可以满足您的saveChanges工作流程。通过检查github中的a60_abstractDataServiceAdapter.js source

,您可以看到这是真的
proto._prepareSaveBundle = function (/*saveContext, saveBundle*/) {
  ...
  throw new Error("Need a concrete implementation of _prepareSaveBundle");
};

Breeze 的确发布,其实现b00_breeze.dataService.webApi满足了随附的Breeze ASP.NET Web API帮助程序类(如ContextProvider)的期望。如果您决定编写自己的服务器支持代码,那么这个实现是值得研究的。

但它只是许多可能的实现之一。例如,OData Web服务器需要一个完全不同的包和格式,用于" $ batch"变更保存。只有你知道什么是适合你的" Progress Openedge"服务器

所有这一切,我们都在documentation for "ContextProvider"中深入研究SaveBundle指向Breeze Web API服务的一些关键方面。

在您阅读完毕后,请随时通过更具体的问题进行跟进。