Breeze和Web API(gui和no gui)

时间:2014-05-30 22:48:26

标签: breeze

我正在建立一个新的SPA,我在解决看似矛盾的问题时遇到了一些问题。

因此,从表面上看,SPA是相当基本的CRUD。但是,有一个问题:他们还希望所有功能都可以作为Web API使用。

鉴于Breeze在Web API之上工作,听起来听起来很合适,但我一直觉得我正在把一个方形的钉子撞到圆孔上。有人可以给我一个拖车吗?

问题示例:

假设我有一个用于创建/添加小部件的屏幕。

  • 有一些验证
  • 有一些业务规则(如果窗口小部件重量超过5磅,则调用另一个发送电子邮件的Web服务)

所以,有了Breeze,这很容易。我只是连接我的EFContext Provider,并挂钩BeforeSaveEntity(ies)事件并前往城镇。

这很棒,但他们想要一个CreateWidget Web API。客户端必须构建一个Breeze兼容的JObject软件包才能模拟保存,这是不可接受的。

API似乎需要传统的DTO /域服务。类似的东西:

string CreateWidget(widgetDto)

Breeze的客户端库很棒,我希望能够将它用于我的GUI应用程序。但是,我很难弄清楚如何使用Breeze并且仍然在服务器端分离关注点,以便域服务可以从命令式API中使用,以便它们支持单元测试。

(我知道你可以覆盖SaveCore,我看过NoDb示例,但重要部分只是说“//你的代码会在这里”。我尝试的每个大道都闻起来像一个巨大的黑客,因为真的,Breeze希望控制服务器上的整个垂直堆栈,我只是想让它将breeze客户端帖子解码回我的DTO,以便我可以映射到我的API将使用的相同域服务,然后我想要将我的服务引发的错误传回客户端(我们使用非常优秀的wzValidate angular指令表示)。

我已经阅读了很多人的帖子,如果你真的觉得你需要DTO,那么你可以使用它们,但我已经空出来寻找一个工作的例子,它也在服务器上结合了业务逻辑。有人能指出我的资源吗?

0 个答案:

没有答案