3


@RequestBodySpringのアノテーションを使用して、リクエストの本文からオブジェクトにJSONをバインド したいと思います。これをGrailsコントローラーメソッドで使用することは可能ですか?request.JSONそうでない場合、作成されたオブジェクトを使用する以外に、よりエレガントな方法はありますか?

これが私がやろうとしていることです:
FooController.groovy:

def someMethod(@RequestBody Bar bar) {
    render(bar.baz)
}

class Bar {
    String baz
}

次に、次のJSONをこのエンドポイントにPOSTします。

{
    "baz":"chicken"
}

POSTからの応答はであると思いますchicken

これが可能かどうか、またはJSONをこのようなコントローラー引数にバインドする他のメカニズムはありますか?

ありがとう!

4

1 に答える 1

3

resourceまたはparseRequest関連するURLマッピング(詳細についてはhttp://grails.org/doc/latest/guide/webServices.htmlを参照)を使用する場合、着信JSONが解析され、paramsマップを埋めるために使用されます。つまり、JSON

{
    "baz":"chicken"
}

設定しparams.baz == "chicken"ます。結果のparamsエントリは、通常の方法でコマンドオブジェクトにバインドできます。アクションパラメータに注釈を付ける必要はありません。

于 2012-09-15T16:30:27.260 に答える