BreezeJs带有标准REST和Json补丁

时间:2015-07-09 10:00:13

标签: breeze

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

BreezeJs是否已经实施了适配器?在微风实验室中有一个抽象的实现,听起来像是正确的基类。但这应该是已经遇到的其他事情。是否有我们可以用于满足我们需求的示例或实现?

感谢您的帮助!

马克

1 个答案:

答案 0 :(得分:0)

您远离唯一可以从此类适配器中受益的人。我一直想写这个话题......我觉得现在已经好几年了。奇怪的是,没有足够的人要求我把我推过驼峰。

您在Breeze Labs的AbstractRestDataServiceAdapter处于正确的道路上。

我最近编写了一个派生适配器来完成你的想法...虽然我的目标是在ASP.NET 5中使用Web API(也就是MVC6)。看一下这个"mvc6-unicorn" adapter的灵感来源

它对修改后的实体使用POST,但您可以在b00_breeze.dataService.odata.js中的“OData”适配器中使用PATCH或MERGE。

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

请注意,JsonResultsAdapter中JSON数据的客户端解释可以通过少量的服务器端Json.NET重新配置来实现,这与您在此{{3 (这是MVC6相当于 WebApiConfig )。

可悲的是,我不得不留下这些线索来制作适合您的解决方案。

完整的故事...我希望“很快”写出......属于我们的Breeze文档。

如果您遇到特定问题,请随时返回。