Я использую версию Grails 3.1.12.Как отключить сопоставления URL-адресов по умолчанию для некоторых действий
Я хочу отключить некоторые сопоставления URL-адресов по умолчанию для действий, чтобы управлять ими вручную. Например, если контроллер:
class MyController {
myAction() {
render('Hello')
}
}
Это действие карты по умолчанию my/myAction
, однако я хочу, чтобы отключить это отображение и использовать пользовательские один как этот определено в UrlMappings.groovy:
static mappings {
"/$controller/$action?/$id?(.$format)?"{
constraints {
// apply constraints here
}
}
'/myCustomAction'(controller: 'my', action: 'myAction')
}
/$controller/$action...
сопоставляет корабли по умолчанию при создании проекта Grails в первый раз и предоставляет соглашение по умолчанию, которое я по-прежнему хочу для некоторых других действий, однако я хочу исключить отображение по умолчанию для myAction
. Я попытался с помощью настройки excludes
в UrlMappings.groovy:
static excludes = ['/my/myAction']
Однако конечная точка my/myAction
продолжает реагировать на отображение по умолчанию.
Как я могу достичь желаемого поведения?
как ваше отображение контроллер '' 'мой/MyAction '' '? разве это не '' 'myController/myAction'''? – dsharew
@DegenSharew соглашение в Grails является 'controllerName/actionName', где имя не содержит часть« Controller »имени класса. См. Http://docs.grails.org/3.1.12/guide/single.html#urlmappings – tcrespog