3


我想使用 Spring 的@RequestBody注解将 JSON 从请求体绑定到一个对象。是否可以在 Grails 控制器方法中使用它?request.JSON如果没有,除了使用创建的对象之外,还有更优雅的方法吗?

这是我想要做的:
FooController.groovy:

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

class Bar {
    String baz
}

然后我将以下 JSON 发布到此端点:

{
    "baz":"chicken"
}

我希望 POST 的响应是chicken.

知道这是否可能,或者是否有一些其他机制可以将 JSON 绑定到这样的控制器参数?

谢谢!

4

1 回答 1

3

如果在相关的 URL 映射中使用resource或(详见http://grails.org/doc/latest/guide/webServices.html)那么传入的 JSON 将被解析并用于填充映射,即 JSONparseRequestparams

{
    "baz":"chicken"
}

将设置params.baz == "chicken"。然后可以以通常的方式将生成的参数条目绑定到命令对象中,您不需要注释操作参数。

于 2012-09-15T16:30:27.260 回答