我有一个非常简单的函数,我定义如下:
def mySimpleFunction(Map myMap) {
// Function logic here...
}
但是,当我尝试编译它时,我收到一条警告消息并生成异常,其中显示: [mySimpleFunction] 操作接受 [java.util.Map] 类型的参数,该参数尚未标记为 Validateable。
如何将此函数标记为可验证?我导入了 org.codehaus.groovy.grails.validation.Validateable
并将我的类(class)标记为 @Validateable 。
为了构建我的应用程序,我应该采取哪些不同的做法?
提前谢谢您!
最佳答案
如果它是辅助方法,请将其设为私有(private)。在 Grails 2.0+ 中,公共(public) Controller 方法被假定为操作,参数被假定为可绑定(bind)。这意味着它们需要是数字类型、 bool 值、字符串等,或者是命令对象类。
如果命令对象类在 Controller 类文件中定义,则它们会自动变得可验证;如果在其他地方定义,则需要将其注释为 @Validateable
。
由于这是一个辅助方法而不是一个操作,因此只需将其设为私有(private)(特别是因为无论如何都无法从另一个类调用它):
private mySimpleFunction(Map myMap) {
// Function logic here...
}
关于grails - Groovy/Grails 使用映射作为函数的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15350684/