我正在设计一个尝试遵循 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”方法,它不会有一个包罗万象的函数来处理它,但是如果我确实将它全部保存在一个模型函数中它没有给我很多可重用性。如果我必须选边站,我可能不需要过多地重用这些“检查功能”,但是在模型而不是控制器中拥有所有这些响应信息似乎也很奇怪。
谁能给我一些意见。