0

我继承了一个控制器。当发出一个 post 请求时,如果有一个结构良好的 JSON 文档,一切都很好。

当 JSON 字段中包含空格时,返回 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"

网址映射:

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

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

谢谢

4

1 回答 1

2

你没有在你的 shell 中正确地引用你的字符串。'如果您打算使用那里的“敏感”字符,请用于您的参数"。或者\"在里面使用。如果您使用前缀@而不是实际数据作为前缀,curl 也可以读取文件名。

然而在这种情况下,引用 with 可能'是最简单的。例如:

 ...
 --data-binary '{
    "planCode" : "My Test App-standard"
 }'
 ...
于 2015-05-06T12:30:32.643 回答