我的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和表单参数?
答案 0 :(得分:3)
不幸的是,方法/操作参数的绑定仅限于发布/查询字符串参数,并且不支持通过JSON或XML获取它们。
下一个最佳解决方案是使用命令对象封装/绑定请求。
(我在Grails 2.4.2中对此进行了测试)。