0

我正在使用 Angular 和 ASP.Net MVC 构建应用程序。

我在应用程序中使用的所有数据都由 Web API 提供(我正在对我的 ASP.Net 控制器进行 Ajax 调用,这些控制器依次调用 Web API 并将 API 的响应返回到 html 页面)。

web api 使用的模型很好地映射了我的需求,我真的不需要改变任何东西。

但是我应该简单地绑定到 Web API 提供的模型吗?我看到的风险是,如果 Web API 发生任何变化,我最终可能会在我的应用程序中彻底改变。如果我在一个地方将 web api 模型翻译成我自己的,我只需要在那里进行更改。

但另一方面 - 将 Web API 模型映射到我自己的模型似乎是一项不必要的工作,因为模型最终将几乎相同。

4

3 回答 3

1

保持简单,当您可以控制应用程序的两侧时引入映射层似乎没有必要。

仅在需要时才引入额外的复杂性,例如在我们的应用程序中,我们使用带有Nancyfx的 asp.net作为我们的 rest api。有几次我们从 api 映射到模型,但那些是特殊情况(包含数据但也包含行为的模型)。

于 2013-09-10T11:33:50.363 回答
0

我们使用映射器的一个地方是将 .net 属性 Pascal case 映射到 json 属性 camelCase。

但是看看这篇博文,即使这个问题也可以通过提供正确的媒体格式化程序来解决,因此可以删除映射层。

应根据具体情况使用映射层。希望对您有所帮助。

于 2013-09-10T11:42:06.747 回答
0

1 - 浏览器调用 WebAPI

2 - WebAPI 返回 JSON 数据 - 这实际上是域(或模型)对象 - 数据库表的副本。

3 - Javascript 根据您的演示文稿将这些 JSON 对象转换为不同的对象(演示文稿总是复杂的 - 表格、图形、列表、格式化的东西、数据透视表)。

4 - HTML 绑定到那些复杂的 javascript 对象

你可以在这里找到非常漂亮的例子:upida4net.codeplex.com 带有敲除和角度。

于 2013-09-10T21:41:33.263 回答