我想用 Spring 的 @RequestBody
将请求正文中的 JSON 绑定(bind)到对象的注释。是否可以在 Grails Controller 方法中使用它?如果没有,有没有比使用 request.JSON
更优雅的方法?创建的对象?
这是我正在尝试做的事情:
FooController.groovy:
def someMethod(@RequestBody Bar bar) {
render(bar.baz)
}
class Bar {
String baz
}
然后我将以下 JSON 发布到此端点:
{
"baz":"chicken"
}
我希望 POST 的响应是
chicken
.知道这是否可能,或者是否有其他机制可以将 JSON 绑定(bind)到这样的 Controller 参数?
谢谢!
最佳答案
如果您使用 resource
或 parseRequest
在相关的 URL 映射中(详见 http://grails.org/doc/latest/guide/webServices.html)然后传入的 JSON 将被解析并用于填充 params
map ,即 JSON
{
"baz":"chicken"
}
将设置
params.baz == "chicken"
.然后可以以通常的方式将生成的参数条目绑定(bind)到命令对象中,您不需要注释操作参数。
关于java - 是否可以在 Grails 操作中使用 Spring 的 @RequestBody ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12362624/