我的Grape API接受JSON格式,我有一个接受JSON作为参数的方法:
desc 'JSON test'
params do
requires :json, type: JSON
end
post :json_test do
json = params[:json]
{result: json}
end
当我通过Postman发出请求时,参数是以application/json内容类型为原始数据格式的:
{
"json": {"test": "test"}
}
当我发送这个时,出现了错误提示信息:
"json is invalid"
然而,当我像这样发送它时:
{
"json": "{\"test\": \"test\"}"
}
它向我展示了正确的响应:
{
"result": {
"test": "test"
}
}
为什么会出现这种情况?当我使用Hash
类型时,第一个变量可以工作,但是如果我想发送哈希/JSON数组怎么办?我知道Grape不支持Array[Hash]
类型。
Array[Hash]
类型,只有Array[JSON]
类型。 - Mr.D