2016-05-18 2 views

ответ

1

Это немного легче в Grails 3 (и Grails 2, если вы используете только методы действий и никаких закрытий):

import grails.web.Action 

def data = grailsApplication.controllerClasses.collect { controller -> 
    [controller: controller.logicalPropertyName, 
    controllerName: controller.fullName, 
    actions: controller.clazz.methods.findAll { it.getAnnotation(Action) }*.name.sort()] 
} 
+0

«и Grails 2, если вы используете только методы действий и никаких закрытий» - I не думайте, что вам нужно исключать приложения, которые используют блокировки для действий. Код, показанный выше, работает для них, потому что среда генерирует соответствующие методы во время компиляции в Grails 2. –

Смежные вопросы