【发布时间】:2015-03-09 20:57:13
【问题描述】:
我在尝试解析 Sinatra 应用程序上的传入请求时失去理智。
这是我的规格
payload = File.read("./spec/support/fixtures/payload.json")
post "/api/v1/verify_payload", { :payload => payload }
last_response.body.must_equal payload
这里只是 spec/support/fixtures/payload.json
{"ref":"refs/heads/master"}
我的路线看起来像
post '/verify_payload' do
params = MultiJson.load(request.body.read, symbolize_keys: true)
params[:payload]
end
运行规范时出现以下错误:
MultiJson::LoadError: 795: unexpected token at 'payload=%7B%22ref%22%3A%22refs%2Fheads%2Fmaster%22%7D'
我尝试以不同的方式解析正文请求,但没有运气。
如何使请求成为有效的 JSON?
谢谢
【问题讨论】: