【问题标题】:difference between Umbraco Surface controller and API controllerUmbraco Surface控制器和API控制器的区别
【发布时间】:2014-05-14 15:19:16
【问题描述】:

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

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

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

但我对 Umbraco 有点不确定。

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

您发表意见的原因是什么?

【问题讨论】:

    标签: asp.net-mvc-4 umbraco umbraco6 umbraco7


    【解决方案1】:

    我通常将 SurfaceControllers 用于所有 MVC。我的 API 控制器用于网站之外的应用程序使用。 api 控制器的一个示例是通过将 /Umbraco/Api/ResourcesApi/GetFaqs 作为 JSONResult 调用来获取网站的所有常见问题解答。

    public sealed class ResourcesApiController : UmbracoApiController
    

    【讨论】:

      【解决方案2】:

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

      SurfaceController 是一个 MVC 控制器,它与 UmbracoPage 的前端渲染。它们可用于渲染 子操作内容,用于处理表单数据提交和 渲染子动作宏。 SurfaceControllers 是自动路由的 这意味着您不必为这些添加/创建自己的路线 控制器工作。

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

      有可能 Umbraco 将开始纯粹通过其自己的 API(例如使用 ContentService)开始更普遍地使用,并且 /umbraco/ 对后台的访问将在更复杂的实现中变得未使用,此时 web apis控制器将使用它来连接模型和视图。将 umbraco 与其网站断开连接是 CMS 的一种更成熟的模型,并且可以解决许多部署问题,因此您应该在更多用例中使用 web api 的唠叨感觉很可能是一个很好的选择。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-05-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-12
        • 1970-01-01
        相关资源
        最近更新 更多