Grails“params”不包含REST控制器的json有效负载

时间:2014-03-04 13:41:04

标签: json rest grails

我正在为我的应用编写REST API。

在POST请求中使用JSON有效负载:

{
   availableAfter: "2014-03-16"
   canRead: true
   rightName: "dsa"
}

问题在于,在控制器的参数中,没有来自有效载荷的值。 但是,尽管如此,我可以使用properties[*]语法来阅读它们,如下所示:

right.properties['rightName', 'canRead'] = params;
right.availableAfter = params.date('availableAfter', 'yyyy-MM-dd');

属性'rightName'和'canRead'设置正常。 'availableAfter'不是(即使与params.availableAfter一起使用也是null。)

为什么不同?

更新:Grails v 2.3.6

1 个答案:

答案 0 :(得分:5)

你必须使用request.JSON来获取你的JSON身体。 params对象不包含它,除非您在客户端中序列化JSON对象并将其作为参数传递。