【发布时间】:2012-06-23 17:58:59
【问题描述】:
我正在设计一个尝试遵循 REST 规范的应用程序。我正在尝试找出设计它的最佳方式。
假设我正在执行 POST 调用,因此我的控制器和模型中有一个“post”方法
// in controller
function post()
{
//call post model here
}
在我的发布请求中,我需要进行以下检查:
-validate fields
-make sure item name is unique for that user
-make sure there are less than 10 items
-etc (there could be more cases)
现在在控制器发布函数中,我将根据发生的任何情况返回一个 REST 消息和状态代码,这很好,但我很想知道在哪里保留所有这些检查更好。
我可以将所有检查放入模型中,然后返回某种数组,例如:
array('text' => 'return response text/array or whatever here', 'code' => '200/400/etc')
然后在控制器中返回这个,还是将这些检查分解为模型中的单个函数,然后在控制器中执行所有检查?
// in controller
function post()
{
//if validation fails -> send response
//if name is not unique -> send response
//etc...
}
从设计的角度来看,如果我想从其他方法中调用项目模型中的“post”方法,它不会有一个包罗万象的函数来处理它,但是如果我把它全部保留在一个模型函数并没有给我很多可重用性。如果我必须选边站,我可能不需要过多地重用那些“检查功能”,但是在模型而不是控制器中拥有所有这些响应信息似乎也很奇怪。
谁能给我一些意见。
【问题讨论】:
标签: model-view-controller codeigniter rest backbone.js