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