当CURL中的JSON空间内的Grails命令对象和404

时间:2015-05-06 12:23:09

标签: json grails curl command-objects

我继承了一个控制器。 当发布帖子请求时,使用结构良好的JSON文档一切都很好。

当JSON在feld中包含空格时,将返回404。 但是,当从mozilla restclient扩展发出相同的请求时,一切正常。

CURL请求具体为:

curl --include \
     --request POST \
     --header "Content-Type: application/json" \
     --header "Accept: application/json" \
     --data-binary "{
        "planCode" : "My Test App-standard"
    }" \
     "https://localhost/signupApi/v2/signup"

urlMapping中:

  "/signupApi/v2/$action"{
        parseRequest = true // parse json, and assign to params
        controller = "signupApiSignup"
    }

那么,为什么curl中的空格会导致grails接收的请求体中出现问题?

由于

1 个答案:

答案 0 :(得分:2)

您没有在shell中正确引用字符串。如果您计划使用"敏感"请使用'作为参数。像"这样的字符。或者在里面使用\"。如果您使用@而不是实际数据作为前缀,curl也可以读取文件名。

然而在这种情况下,引用'最简单。 E.g:

 ...
 --data-binary '{
    "planCode" : "My Test App-standard"
 }'
 ...