带标准REST和Json补丁的BreezeJs

带标准REST和Json补丁的BreezeJs,breeze,Breeze,我们目前有一个项目,我们将使用WebApi中实现的标准RESTful接口。因此,不会有一个具有单个SaveChanges方法的Breeze控制器来处理所有CUD请求。相反,将有一个控制器类型的Web Api实现,其中CRUD操作将由每个控制器处理。此外,我们考虑使用JSON补丁将所需数据发送到后端 是否已经为BreezeJs实现了任何适配器?breeze实验室中有一个abstractrest实现,听起来像是正确的基类。但这应该是其他已经遇到的问题。是否有一个示例或实现可用于满足我们的需求 谢谢你

我们目前有一个项目,我们将使用WebApi中实现的标准RESTful接口。因此,不会有一个具有单个SaveChanges方法的Breeze控制器来处理所有CUD请求。相反,将有一个控制器类型的Web Api实现,其中CRUD操作将由每个控制器处理。此外,我们考虑使用JSON补丁将所需数据发送到后端

是否已经为BreezeJs实现了任何适配器?breeze实验室中有一个abstractrest实现,听起来像是正确的基类。但这应该是其他已经遇到的问题。是否有一个示例或实现可用于满足我们的需求

谢谢你的帮助


Marc

你远远不是唯一一个可以从这种适配器中受益的人。我一直想写关于这个主题的文章。。。好吧,我想是几年前了。奇怪的是,没有足够多的人要求把我推过这个低谷

使用Breeze实验室中的
AbstractRestDataServiceAdapter
,您走上了正确的道路

我最近写了一个派生的适配器来完成你想做的事情。。。虽然我的目标是ASP.NET5中的WebAPI(又名MVC6)。看看这个,你会得到灵感

它对修改过的实体使用POST,但您可以使用中的“OData”适配器中的补丁或合并

还请注意,
JsonResultsAdapter
中JSON数据的客户端解释通过少量服务器端JSON.NET重新配置(即MVC6等效于WebApiConfig)大大简化

遗憾的是,我不得不把这些线索留给你,让你想出一个适合你的解决方案

整个故事。。。我真的希望写“很快”。。。属于我们的Breeze文档

如果您在特定问题上遇到困难,请随时返回

else if (aspect.entityState.isModified()) {
    ...
    request.method = "MERGE";
    request.data = helper.unwrapChangedValues(entity, entityManager.metadataStore, transformValue);
} ...