Grails - JSON param请求不传递给控制器

时间:2014-11-17 15:53:30

标签: json grails params

我想将JSON传递给我的requete。 但是找不到JSON是不可能的。

@Secured(['ROLE_STUDENT'])
def validate() {
    println params
    println request.JSON
}

结果:

[controller:student, action:validate, id:2345444]
[:]

网址:

curl -i -H "Content-Type: application/json" -X POST -d '{"studentScores":[{"id":"2","score":"17"}],"comment":"good"}' 'http://localhost:8080/myapp/studient/2345444/validate' -H 'Cookie: JSESSIONID=3CCDC701553A2208428BB7135DDA5546'

我尝试使用GET和POST,以及使用àJQuery

$.ajax({
    url: urlSubmit,
    type: 'POST', 
    data: JSON.stringify(student),
    contentType:"application/json; charset=utf-8",
    dataType: "json"
});

Grails 2.4.4 Java 8(合规级别java 7) Tomcat 8

一些插件: 弹簧安全核:2.0-RC4 弹簧安全的Facebook:0.16.2 弹簧安全的oauth2提供商:2.0-RC2

需要你的帮助

2 个答案:

答案 0 :(得分:1)

请参阅:http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html 9.3 GET )。

  

GET方法意味着检索由Request-URI标识的任何信息(以实体的形式)

Request-URI是这里的重要部分。 GET请求中没有正文数据的概念。

因此,更改为POST,您的请求应该有效。

答案 1 :(得分:0)

首先,你的网址中有一个错误:)

http://localhost:8080/myapp/STUDIENT/2345444/validate

试试这段代码

def json = JSON.stringify(params)

但我不确定。