Эта ошибка случалась со мной бесчисленное количество раз, и обычно я нахожу способ не использовать строки, но это невероятно расстраивает.
Время от времени возникает такая ошибка:
Выполнение действия [править] контроллера
[Edu.drexel.goodwin.events.web.EventController]
вызванное исключение:
groovy.lang.MissingMethodException: Нет
подпись метода:
grails.plugins.springsecurity.SpringSecurityService.ifAllGranted ()
применимо для типов аргументов:
(java.lang.String) значения:
[ROLE_SUPER_ADMIN] "
Код, который я использую, выглядит следующим образом:
springSecurityService.ifAllGranted(new String("ROLE_SUPER_ADMIN"))
Я также пробовал все следующее безрезультатно:
springSecurityService.ifAllGranted("ROLE_SUPER_ADMIN")
springSecurityService.ifAllGranted("""ROLE_SUPER_ADMIN""")
springSecurityService.ifAllGranted('ROLE_SUPER_ADMIN')
springSecurityService.ifAllGranted('''ROLE_SUPER_ADMIN''')
По сути, КАЖДАЯ строковая переменная немедленно превращается в значение, хранящееся в строке ... но как вы на самом деле используете строковые переменные?
Большое спасибо за вашу помощь,
-Asaf