我遇到葡萄问题。 我试图调查他们的文档并谷歌周围。 我找不到任何有关此问题的解决方案或样本。
假设我将这种格式发送到葡萄的POST请求中:
{
"preferences": {
"play": {
"weekdays": "5",
"weekend": "8"
},
"grow": {
"weekdays": "4",
"weekend": "8"
}
}
}
问题:
params do optional :preferences, type: Hash do optional :play do optional :weekdays optional :weekend end optional :grow, type: Hash do optional :weekdays optional :weekend end end end
我知道如何解决这些问题?
非常感谢
答案 0 :(得分:0)
回答问题1:如果所有参数都是可选的,那么您甚至不需要params
块。摆脱它,例如,使用params[:preferences][:play][:weekdays]
来访问工作日属性。只需使用相同的想法来访问其他值。
回答问题2:在Postman上,使用RAW,但不要忘记将标题Content-Type
设置为application/json
。我已经编写了下面的代码来玩这个例子。
require 'grape'
class API < Grape::API
version 'v1', :using => :header, :vendor => 'alienlabz', :format => :json
format :json
resource :preferences do
post do
puts params[:preferences][:play][:weekdays]
end
end
end
run API