SaveChanges违反了Restful约定吗?

时间:2013-06-07 21:38:41

标签: breeze

我刚刚观看了John Pappa的复数视频培训视频,并且对所有部分的组合方式感到震惊。

当我消化我学到的东西时,我想到了一个认真的人。

由于令人难以置信的轻松使得可查询部分和数据服务的CUD部分,CUD部分似乎有太多的专有webapi方法签名。它简单易用,功能强大,简单易用,但我们习惯于将CUD部分用于Post,Put和Delete。这些单独的WepApi方法更多的是代码,但它们允许明确声明用于保存事物的逻辑。例如,我只进行软删除,因此显式声明的删除webapi函数将允许我将删除的记录插入到我的审计表中,通过设置DeletedDate标记删除的记录,然后实际上不删除记录。有时,根据人的角色,你想要过度保护。例如,CreatedDate可能是实体中的属性,但该属性中的客户端强制/无效更改不应自动更新服务器端的列。或者,作为ServiceTicket实体的一部分,除非用户具有某些角色,否则分配的服务技术人员永远不应该由客户端更新。

这些服务器端干预在哪里以及如何在微风中的SaveChanges方法中编码?当人们期望像“api”这样的完全Post / Put / Delete和breeze只提供像SaveChanges这样的单一方法时会发生什么?

最后我假设breeze只使用专有的ContextProvider,因为odata实现还没有进行扩展和选择,对吧?如果wepapi odata完全实现了所有的odata动词,是否有任何计划可以取消这个额外的层?如果有的话,2012 Update 2如何改变这方面的内容?

由于

0 个答案:

没有答案