Grails REST CRUD控制器方法

PWF*_*ley 2 grails grails-controller

我是Grails的新手,虽然我在使用不同语言的其他mvc框架(Perl,Python,Ruby)开发Web应用程序方面有很多经验.

我试图了解CRUD在grails中的含义.

基本上Grails默认为create函数创建以下两种方法:

create,用于显示创建保存的表单,用于保存已发布的表单

现在来自不同的框架,我习惯只有一个创建方法:

如果请求方法是GET,这个函数将显示表单,如果请求方法是POST,则保存表单,这似乎是大多数框架的首选方式?!?!?

为什么Grails会采用完全不同的方法来实现此功能?我知道我可以手动改变它,但这样做有什么意义呢?我将放松什么,我将获得什么.

我知道这不是一个非常具体的问题,我肯定不想开始一场火焰战,但我想明白为什么选择另一种方式......

在此先感谢您的ansers.

Col*_*ton 7

生成控制器时,它使用一些带有{索引,列表,创建,保存,显示,编辑,更新,删除}操作的默认模板.这只是一个起点,或用于参考.

我通常为面向公众的应用程序做的是设置URL映射,它处理基于HTTP方法的路由.有关详细信息,请参阅http://grails.org/doc/latest/guide/theWebLayer.html#mappingHTTP.

基本上,这可以让你做类似的事情:

static mappings = {
   "/product/$id"(controller:"product") {
       action = [GET:"show", PUT:"update", DELETE:"delete", POST:"save"]
   }
}
Run Code Online (Sandbox Code Playgroud)

在控制器中,操作应该是分开的,因为它们用于不同的目的.Grails允许您设置URL映射以处理HTTP方法路由.