2016-05-25 10 views
0

現在私のアクションメソッドでは、リクエストボディをアンマーシャリングし、paramsに2つの別々のコマンドを要求します。Merge Grailsはbodyとparamsを1つのコマンドに要求しますか?

def someAction(BodyCommand bodyCmd) { 
    ParamsCommand paramsCmd = new ParamsCommand(params) 

    // Do something with bodyCmd and paramsCmd after 
    // validating both 
    if (bodyCmd.validate() && paramsCmd.validate()) { 
     ... 
    } 
} 

私はコマンドを組み合わせて、代わりに1つのコマンドしか使用しません。

def someAction(ActionCommand cmd) { 
    cmd.merge(params) 

    // Do something with cmd after validation 
    if (cmd.validate()) { 
     ... 
    } 
} 

は自動的にGrailsによって非整列化の要求ボディコマンドにparamsをマージすることが可能ですか?

+0

bindDataあなたは、パラメータとしてコマンドを使用して、コントローラのアクション(複数可)を持っている場合、それは自動的にバインドされますhttp://docs.grails.org/latest/ref/Controllers/bindData.html – Vahid

+0

を助ける場合はわかりませんあなたは何をもっとしたいですか? – droggo

答えて

0

Grails 2.5.0 のように見えます。サポートa simple way to merge paramsをドメインクラスまたはコマンドオブジェクトに置き換えます。

cmd.properties = params