我有一些控制器操作需要几种不同的 HTTP 方法,例如 GET 和 POST。我没有在控制器操作代码中处理这个问题,而是(错误地)决定如果我将此代码放入 UrlMappings.groovy 类中会更快且更简单。
这是我到目前为止所拥有的:
class UrlMappings {
static mappings = {
...
"/$controller/(create|edit)/$id" {
action = [
GET: "editView",
POST: "edit"
]
}
}
}
因此,在每个控制器中,如果第二个 URL 参数匹配“编辑”,用户将被转发到两个操作之一,具体取决于请求的 HTTP 方法。
一切正常,直到代码到达我的editView
或edit
此代码的操作:
params.id
评估为edit
,而不是1
本示例请求中所预期的那样:/location/edit/1
。
这是Grails中的错误吗?