1
В этом question показывает, как получить все методы от контроллера в grails 2. Как я могу попасть в grails 3?Получить все методы от контроллера в графе 3
В этом question показывает, как получить все методы от контроллера в grails 2. Как я могу попасть в grails 3?Получить все методы от контроллера в графе 3
Это немного легче в 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()]
}
«и Grails 2, если вы используете только методы действий и никаких закрытий» - I не думайте, что вам нужно исключать приложения, которые используют блокировки для действий. Код, показанный выше, работает для них, потому что среда генерирует соответствующие методы во время компиляции в Grails 2. –