6

WebApi 非常适合使用带有 KnockoutJS 的 javascript ViewModel 的单页应用程序。

我的 WebApi 是否应该返回 ac# ViewModel,然后将其转换为 Json ViewModel。

或者我的 WebApi 控制器是否应该返回一个业务对象并创建一个 javascript 视图模型?

我从未在任何 WebApi 教程中看到过第一个,我想知道为什么。

4

1 回答 1

9

我的 WebApi 是否应该返回 ac# ViewModel,然后将其转换为 Json ViewModel

是的,一点没错。这样,您就可以完全控制发送给客户端的内容。此外,如果您决定在新版本的 API 中更改底层业务模型,例如,您不会破坏现有客户端。您需要做的就是调整业务模型和视图模型之间的映射。

或者我的 WebApi 控制器是否应该返回一个业务对象并创建一个 javascript 视图模型?

不,从未将您的商业模式发送给客户。您应该始终使用视图模型。

我从未在任何 WebApi 教程中看到过第一个,我想知道为什么。

我也从未在任何 ASP.NET MVC 教程中看到过第一个,我也想知道为什么。可能是因为这些教程没有涵盖现实世界的应用场景,而是代表了过于简化的示例,这些示例可以让您开始使用某些技术。不幸的是,很多人在学习这些教程时没有意识到在现实世界的应用程序中使用视图模型的重要性。StackOverflow 是一个很好的地方,可以查看有多少人实际上没有意识到视图模型的重要性。

于 2013-02-16T15:41:54.917 回答