【问题标题】:Serving same data into different formats (model or controller)将相同的数据提供为不同的格式(模型或控制器)
【发布时间】:2011-02-24 12:35:43
【问题描述】:

假设我有一个 Web 应用程序,对于一些数据库表,我想将它的数据作为数组/对象集合返回以显示在网页中,并作为 json 来构建一个 api。

我的问题是:我是否应该在我的模型中创建一个方法以将数据库中的数据作为 json 和其他方法以将数据作为数组返回,或者我应该只使用“getData”方法并在我的控制器?

案例 1:

型号:

function getDataFromDb(){
 // query the db
// return as array/obj
}

function getDataAsJson(){
result = getDataFromDb();
// manipulate the result and return json object
}

案例 2

型号:

function getDataFromDb(){
 // query the db
// return as array/obj
}

控制器

result = getDataFromDB();
// create json data from the returned result

【问题讨论】:

    标签: model-view-controller model controller formats


    【解决方案1】:

    Single Responsibility principle 将指示您将 Web 界面控制器和 api 控制器分开。那将是一种更清洁、更易于维护的方法。但是,如果由于某种原因您不能这样做,那么至少将这些方法分开。 “多功能”方法更难维护,并使您的方法更复杂。

    【讨论】:

      【解决方案2】:

      在我看来,这是控制器的工作。模型不应该知道(或关心)格式。

      我个人会创建某种帮助类来将模型数据序列化为 JSON。如果您在 ASP.NET MVC 3 上运行,您应该查看 JavaScriptSerializer 类。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-05-10
        • 1970-01-01
        • 1970-01-01
        • 2021-03-23
        • 2016-12-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多