0

我正在使用 Grails v3.2.9

在官方文档中,我发现以下映射到 http 方法

static mappings = {
   "/product/$id"(controller:"product", action: "update", method: "PUT")
}

但这还不够。我需要的是有一个映射,它基于 HTTP 方法映射到不同的操作(在同一个控制器中)。

任何想法 ?

4

2 回答 2

2

添加 URLMappings 像 --

"/product/api/v2/book" (controller: 'book') {
    action = [GET: 'show', POST: 'update']
}

另外,最好在控制器中添加方法约束——

  static allowedMethods = [show: 'GET', update: 'POST']
于 2018-09-03T11:04:43.050 回答
0

或者,如果您遵循 REST 控制器的方法命名约定......您可以逃脱:

"/product/$id" (resources:'product')

这里有一些很好的信息: http: //mrhaki.blogspot.com/2013/11/grails-goodness-customize-resource.html

于 2018-09-03T15:24:48.103 回答