我正在使用Breeze JS,并希望使用Progress Openedge实现具有完整CRUD功能的服务器。 Breeze网站谈论了很多关于能够编写自己的服务器实现的信息,但我找不到描述Breeze发送给服务器的保存包格式的信息。有谁知道任何文档或架构?
答案 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服务的一些关键方面。
在您阅读完毕后,请随时通过更具体的问题进行跟进。