Groovy / Grails使用map作为函数的参数

我有一个非常简单的函数,我定义如下:

def mySimpleFunction(Map myMap) {
   // Function logic here...
  }

但是,当我尝试编译它时,我收到一条警告消息并构建异常,该异常表示:[mySimpleFunction]动作接受类型为[java.util.Map]的参数,该参数未标记为Validateable.

如何将此功能标记为可验证?我导入了org.codehaus.groovy.grails.validation.Validateable

并将我的班级标记为@Validateable.

为了让我的应用程序构建,我应该做些什么?

先感谢您!

解决方法

如果它是辅助方法,请将其设为私有.在Grails 2.0中,公共控制器方法被假定为动作,并且假定参数是可绑定的.这意味着它们需要是数字类型,布尔值,字符串等,或命令对象类.

如果在控制器类文件中定义了命令对象类,则它们将自动成为可验证的,如果它们在别处定义,则需要注释为@Validateable.

因为这是一个辅助方法而不是一个动作,所以只需将其设为私有(特别是因为无论如何都无法从另一个调用它):

private mySimpleFunction(Map myMap) {
   // Function logic here...
}

相关文章

背景:    8月29日,凌晨4点左右,某服务告警,其中一个...
https://support.smartbear.comeadyapi/docs/soapui/steps/g...
有几个选项可用于执行自定义JMeter脚本并扩展基线JMeter功能...
Scala和Java为静态语言,Groovy为动态语言Scala:函数式编程,...
出处:https://www.jianshu.com/p/ce6f8a1f66f4一、一些内部...
在运行groovy的junit方法时,报了这个错误:java.lang.Excep...