1

假设我有一个 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
4

2 回答 2

0

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

于 2011-02-24T12:41:49.383 回答
0

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

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

于 2011-02-24T12:43:02.527 回答