我继承了UrlMappings
我正在尝试升级到 2.5.0 的 Grails 2.2.4(部分转载如下)。
命名映射api0
&工作,但(between & )api2
中的两个连续斜杠似乎在 2.5.0 中没有正确匹配(尽管它们在 2.2.4 中匹配)。例如:api1
$controller
$id
PUT /api/ticket//123.json
尽管我的控制器允许 PUT 用于其更新操作,但仍返回 403。
name api0: "/api/$controller/$id?(.$format)?" {
action = [GET: 'show', PUT: 'update', POST: 'save', DELETE: 'delete']
constraints {
id(matches: /\d+/)
}
}
name api1: "/api/$controller//$id?(.$format)?" {
action = [GET: 'show', PUT: 'update', POST: 'save', DELETE: 'delete']
constraints {
id(matches: /\d+/)
}
}
name api2: "/api/$controller/$action/$id?(.$format)?" {
constraints {
id(matches: /\d+/)
}
}
我无法更改传入的 URL 和/或 HTTP 方法(并且我没有创建它们),所以请不要告诉我更改客户端以用单斜杠替换 URL 中的双斜杠,或者 URL和/或 HTTP 方法不遵循 REST 范例。