【问题标题】:web api or controller for client side interaction用于客户端交互的 web api 或控制器
【发布时间】:2012-09-21 18:24:54
【问题描述】:
我目前正在开发一个新的 MVC4 应用程序,它将是一个具有大量客户端交互的丰富应用程序。
以前对于 MVC 应用程序,我会使用控制器来简化 javascript 服务器端交互。现在随着 web api 和 rest 服务的出现,我对这种方法提出了质疑。
我会对其他开发人员的意见感兴趣,作为客户端/服务器端交互的更好实践,这种交互使用 web api 而不是控制器操作更好吗?
【问题讨论】:
标签:
javascript
asp.net-mvc
asp.net-web-api
rich-internet-application
【解决方案1】:
我会选择 Web API。你说客户端交互在你的项目中占有很大的位置,
因此应该有自己的项目。
主要原因是关注点分离,因为它更干净地将返回 Html 的控制器与客户端使用的 API 分离。使用专门用于此特定主题的 Web API 项目将产生更清晰的代码。
例如,在 MVC 控制器中,为了返回一个对象,您将编写以下代码:
return Json(customInstance); 的 ActionResult 类型。为了在 WebAPI 中实现相同的功能,将使用这行代码:return customInstance; of CustomObject 类型。