Я пишу API и получает в качестве тела запроса полезную нагрузку JSON.
Чтобы получить в настоящее время, я делаю что-то вроде этого:
post '/doSomething' do
request.body.rewind
request_payload = JSON.parse request.body.read
#do something with request_payload
body request_payload['someKey']
end
Какой хороший способ отвлечь это, чтобы мне не нужно было делать это для каждого маршрута? Некоторые из моих маршрутов более сложны, чем это, и в результате request.body будет перечитываться и перерисовываться несколько раз на маршрут с помощью этого подхода, чего я хочу избежать.
Есть ли способ сделать request_payload магически доступным для маршрутов? Вот так:
post '/doSomething' do
#do something with request_payload, it already parsed and available
body request_payload['someKey']
end