Umbraco Surface 控制器和 API 控制器的区别

cpo*_*ign 5 umbraco asp.net-mvc-4 umbraco6 umbraco7

Umbraco 的 Surface 和 API 控制器有什么区别?

在标准 MVC 中,一般规则是:

  • API 用于返回数据,可以被多个应用程序使用。
  • 控制器用于返回视图

但我对 Umbraco 有点不确定。

到目前为止,我一直在使用表面控制器将数据从表单发布到表单,这让我想知道我是否正确使用它,我是否应该为此使用 API 控制器

你的意见的理由是什么?

ame*_*vin 3

我不认为你错了。Umbraco Surface 控制器处理前端用户交互,例如将数据发布到表单中(来自http://our.umbraco.org/documentation/Reference/Mvc/surface-controllers

SurfaceController 是与 UmbracoPage 的前端渲染交互的 MVC 控制器。它们可用于呈现子操作内容、处理表单数据提交以及呈现子操作宏。SurfaceController 是自动路由的,这意味着您无需添加/创建自己的路由即可使这些控制器正常工作。

而您可以使用 API 控制器来访问其他域或当前站点后端中的数据。

Umbraco 有可能纯粹通过自己的 API(例如使用 ContentService)开始更常用,并且 /umbraco/ 对后台的访问将在更复杂的实现中不再使用,在该阶段将使用 Web API通过控制器连接模型和视图。对于 CMS 来说,断开 umbraco 与其网站的连接是一种更成熟的模式,并且可以解决许多部署问题,因此,您应该在更多用例中使用 Web api 的烦人感觉很可能是一个很好的选择。