Grails 命令对象和 404 when space inside JSON from CURL
Grails command object and 404 when space inside JSON from CURL
我继承了一个控制器。
当发出 post 请求时,有了结构良好的 JSON 文档,一切都很好。
当 JSON 字段中包含 space 时,返回 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"
URL映射:
"/signupApi/v2/$action"{
parseRequest = true // parse json, and assign to params
controller = "signupApiSignup"
}
那么,为什么 curl 中的 space 会导致 grails 接收的请求正文出现问题?
谢谢
您没有在 shell 中正确地引用您的字符串。如果您打算在那里使用 "sensitive" 个字符,例如 "
,请使用 '
作为您的参数。或者在里面使用\"
。如果您使用 @
作为前缀而不是实际数据,curl 也可以读取文件名。
然而在这种情况下,可能用 '
引用是最简单的。例如:
...
--data-binary '{
"planCode" : "My Test App-standard"
}'
...
我继承了一个控制器。 当发出 post 请求时,有了结构良好的 JSON 文档,一切都很好。
当 JSON 字段中包含 space 时,返回 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"
URL映射:
"/signupApi/v2/$action"{
parseRequest = true // parse json, and assign to params
controller = "signupApiSignup"
}
那么,为什么 curl 中的 space 会导致 grails 接收的请求正文出现问题?
谢谢
您没有在 shell 中正确地引用您的字符串。如果您打算在那里使用 "sensitive" 个字符,例如 "
,请使用 '
作为您的参数。或者在里面使用\"
。如果您使用 @
作为前缀而不是实际数据,curl 也可以读取文件名。
然而在这种情况下,可能用 '
引用是最简单的。例如:
...
--data-binary '{
"planCode" : "My Test App-standard"
}'
...