Grails:相同 URL 映射到每个不同 HTTP 方法的不同操作

Grails: Same URL Mapping to different actions per different HTTP methods

我正在使用 Grails v3.2.9

在官方文档中,我为 mapping to http methods 找到了以下内容:

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

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

有什么想法吗?

像 --

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

另外,在controller中加入方法约束就好了--

  static allowedMethods = [show: 'GET', update: 'POST']

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

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

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