【发布时间】:2015-01-14 18:10:27
【问题描述】:
所以我有一个 API,其中一个入口点看起来像:
module SomeModule
module SomeOtherModule
class Users < SomeModule::SomeOtherModule::Base
helpers do
params :user do
requires :user, type: Hash do
requires :device_id, type: String, desc: "Device ID"
end
end
end
desc "Some description"
params do
use :user
end
put "/", route_name: :v1_put_user_path do
...
end
end
end
end
SomeModule::SomeOtherModule::Base 继承自 Grape::API
我的客户正在发送正文中的参数 - 看起来像:
{"user[device_id]":"xyz"}
由于这就像一个字符串,我无法识别它们。因此返回:
{"error":"user is missing"}
这意味着在我的服务器上我得到:
{"user[device_id]"=>"00999877",
"route_info"=>
...
当我期待看到时:
{"user"=>{"device_id"=>"00999877"},
"route_info"=>
...
关于我应该如何定义我的参数的任何想法?...或者也许有人偶然发现了这个问题并可以提供一些解决方案
【问题讨论】: