1

我正在使用 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()命令对象或约束被忽略了。

任何有关此类问题原因的提示将不胜感激。

4

0 回答 0