【发布时间】:2010-12-14 21:33:45
【问题描述】:
我想为大型 ASP.NET MVC 应用程序创建一个 API。此应用程序对其所有视图都使用强类型视图模型。 API 最重要的工作是在 iPhone 的 Objective C 等其他平台上启用网站功能。
现在的想法是从一开始就为 API 重用 ViewModel 和现有控制器操作,这样控制器而不是视图将视图模型作为 JSON 或 Ajax 结果返回。
但是已经对此进行了一些讨论,因为视图模型具有许多对 API 似乎并不总是有用的复合信息。例如,典型的 API 函数可能是 GetRanking()。属于 Ranking() 动作的视图模型实际上有更多的数据,比如当前用户的名字,也许还有一些关于排名的解释。
所以问题是,解决这个问题的最佳方法是什么:为 api 编写单独的操作并返回序列化的域对象,或者重用当前的操作和视图模型,而忽略不需要的数据?
【问题讨论】:
标签: asp.net-mvc api viewmodel