我有一个非常简单的函数,我定义如下:
def mySimpleFunction(Map myMap) {
// Function logic here...
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试编译它时,我收到一条警告消息并构建异常,该异常表示:[mySimpleFunction]动作接受类型为[java.util.Map]的参数,该参数未标记为Validateable.
如何将此功能标记为可验证?我导入了org.codehaus.groovy.grails.validation.Validateable
并将我的班级标记为@Validateable.
为了让我的应用程序构建,我应该做些什么?
先感谢您!
Bur*_*ith 21
如果它是辅助方法,请将其设为私有.在Grails 2.0+中,公共控制器方法被假定为动作,并且假定参数是可绑定的.这意味着它们需要是数字类型,布尔值,字符串等,或命令对象类.
如果在控制器类文件中定义了命令对象类,则它们将自动成为可验证的,如果它们在别处定义,则需要将其注释为@Validateable
.
因为这是一个辅助方法而不是一个动作,所以只需将其设为私有(特别是因为无论如何都无法从另一个类调用它):
private mySimpleFunction(Map myMap) {
// Function logic here...
}
Run Code Online (Sandbox Code Playgroud)