将JSON数据绑定到操作参数

时间:2015-03-30 14:28:09

标签: json grails data-binding

我的Grails应用程序包含一项操作,该操作需要通过HTTP POST发送以下JSON数据

{email: 'foo@bar.com'}

目前我检索电子邮件的价值如此

def foo() {
    def json = request.JSON
    String email = json.email

    // remainder of action omitted          
}

如果数据是通过URL参数发送的,我可以通过名称将其绑定到动作参数,如下所示:

def foo(String email) {

    // remainder of action omitted          
}

是否可以将请求正文中的JSON直接绑定到操作参数,或者此工具是否仅限于URL和表单参数?

1 个答案:

答案 0 :(得分:3)

不幸的是,方法/操作参数的绑定仅限于发布/查询字符串参数,并且不支持通过JSON或XML获取它们。

下一个最佳解决方案是使用命令对象封装/绑定请求。

(我在Grails 2.4.2中对此进行了测试)。