Model view controller 将相同数据转换为不同格式(模型或控制器)

Model view controller 将相同数据转换为不同格式(模型或控制器),model-view-controller,model,controller,formats,Model View Controller,Model,Controller,Formats,假设我有一个web应用程序,对于某些数据库表,我希望将其数据作为数组/对象集合返回以显示在网页中,并作为json返回以构建api 我的问题是:我应该在模型中创建一个方法以json形式从数据库返回数据,并创建其他方法以数组形式返回数据,还是应该使用一个“getData”方法,让它们在控制器中操作输出 案例1: 型号: 案例2 型号: 控制器 将指示您分离web界面控制器和api控制器。这将是一种更干净、更易于维护的方法。但是,如果你出于任何原因不能这样做,那么至少要将这些方法分开。”“多功能”方法

假设我有一个web应用程序,对于某些数据库表,我希望将其数据作为数组/对象集合返回以显示在网页中,并作为json返回以构建api

我的问题是:我应该在模型中创建一个方法以json形式从数据库返回数据,并创建其他方法以数组形式返回数据,还是应该使用一个“getData”方法,让它们在控制器中操作输出

案例1:

型号:

案例2

型号:

控制器


将指示您分离web界面控制器和api控制器。这将是一种更干净、更易于维护的方法。但是,如果你出于任何原因不能这样做,那么至少要将这些方法分开。”“多功能”方法更难维护,使您的方法更复杂。

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

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

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

function getDataAsJson(){
result = getDataFromDb();
// manipulate the result and return json object
}
function getDataFromDb(){
 // query the db
// return as array/obj
}
result = getDataFromDB();
// create json data from the returned result