我正在使用 Grails v3.2.9
在官方文档中,我发现以下映射到 http 方法:
static mappings = {
"/product/$id"(controller:"product", action: "update", method: "PUT")
}
但这还不够。我需要的是有一个映射,它基于 HTTP 方法映射到不同的操作(在同一个控制器中)。
任何想法 ?
我正在使用 Grails v3.2.9
在官方文档中,我发现以下映射到 http 方法:
static mappings = {
"/product/$id"(controller:"product", action: "update", method: "PUT")
}
但这还不够。我需要的是有一个映射,它基于 HTTP 方法映射到不同的操作(在同一个控制器中)。
任何想法 ?
添加 URLMappings 像 --
"/product/api/v2/book" (controller: 'book') {
action = [GET: 'show', POST: 'update']
}
另外,最好在控制器中添加方法约束——
static allowedMethods = [show: 'GET', update: 'POST']
或者,如果您遵循 REST 控制器的方法命名约定......您可以逃脱:
"/product/$id" (resources:'product')
这里有一些很好的信息: http: //mrhaki.blogspot.com/2013/11/grails-goodness-customize-resource.html