我正在编写一个 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's already parsed and available
body request_payload['someKey']
end