如何为Grails命令对象指定可选的请求参数?

时间:2014-10-24 16:14:14

标签: validation grails groovy

更新:代码更改为使其看起来像Groovier XD

就像标题所说的那样。假设我有一个命令对象:

@Validateable
class MyCommand {
    String myProperty1
    String myProperty2
    String myProperty3
    static constraints = {
        myProperty1(blank: false)
    }
}

我还有一个控制器,它在收到GET请求时尝试填充我的命令对象的新实例:

class HeyController {
    def doSomething(MyCommand mc) {
        render [result: mc] as JSON
    }
}

请注意,我只想在此示例中将myProperty1设为必需参数(即我希望myProperty2myProperty3为可选请求参数)。但是,如果我提出这个请求:

http://myappserver:8080/app/hey/doSomething?myProperty1=foo

Grails仍会抱怨myProperty2myProperty3null个值。

那么,我做错了什么?谢谢!

1 个答案:

答案 0 :(得分:1)

@Validateable
class MyCommandObject {
    String myProperty1
    String myProperty2
    String myProperty3


    static constraints = {

        myProperty2 nullable: true
        myProperty3 nullable: true
    }
}