我正在使用Grails 1.3.7,并且我在多个控制器中有类似的代码:
def myAction = { MyCommand cmd ->
if (cmd.hasErrors()) {
// return bad request
} else {
someService.callSomeMethod(cmd.someId)
...
}
}
class MyCommand {
Long someId
static constraints = {
someId nullable: false
}
}
99.99%的时间可以正常工作。但是,在某些情况下,应用程序日志指示使用null调用服务(即cmd.someId返回null)。但是,由于约束设置为nullable: false
,因此没有意义。感觉就像在极少数情况下,grails忘记在命令对象上调用validate()
或者忽略了约束。
任何有关此类问题原因的提示都将受到赞赏。