用于客户端交互的 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 API过滤器

雄辩的 ORM 控制器或模型

Web 浏览器中用于控制 DOM 事件之间交互的事件循环模型是由 Brendan Eich 与 JavaScript 同时开发的吗?

Web-API 版本控制不适用于默认版本