我正在为我的应用编写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
答案 0 :(得分:5)
你必须使用request.JSON
来获取你的JSON身体。
params
对象不包含它,除非您在客户端中序列化JSON对象并将其作为参数传递。