带有标准 REST 和 Json 补丁的 BreezeJs

BreezeJs with standard REST and Json Patch

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

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

感谢您的帮助!

马克

您远非唯一可以从此类适配器中受益的人。我一直想写这个话题……好吧,我想现在已经很多年了。奇怪的是没有足够多的人要求帮助我渡过难关。

您在 Breeze Labs 中 AbstractRestDataServiceAdapter 的方向是正确的。

我最近写了一个派生适配器来做你想做的事情......尽管我在 ASP.NET 中针对 Web API(又名 MVC6) 5. 看看这 "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 重新配置得到了极大的促进您在此 ApiConfiguration class here 中看到的内容(即 MVC6 等同于 WebApiConfig)。

遗憾的是,我只能将这些线索留给您,以制定适合您的解决方案。

完整的故事...我希望写成 "soon"...属于我们的 Breeze 文档。

如果您在特定点上遇到困难,请随时return。