0
我有一個應接收JSON或表單urlencoded數據的API端點。我可以通過accept頭來檢測這個,但是我只是想知道是否有一個機架中間件可以爲我做到這一點。基本上,它根據accept頭來轉換參數。Sinatra中間件可以根據CONTENT_TYPE標題轉換params變量
我有一個應接收JSON或表單urlencoded數據的API端點。我可以通過accept頭來檢測這個,但是我只是想知道是否有一個機架中間件可以爲我做到這一點。基本上,它根據accept頭來轉換參數。Sinatra中間件可以根據CONTENT_TYPE標題轉換params變量
你想https://github.com/achiu/rack-parser有了它,你可以聲明解析策略:
use Rack::Parser, :parsers => {
'application/json' => proc { |body| MyCustomJsonEngine.do_it body },
'application/xml' => proc { |body| MyCustomXmlEngine.decode body },
'application/roll' => proc { |body| 'never gonna give you up' }
}
但是,它使用的CONTENT_TYPE頭。因爲這是傳入MIME類型信息的正確標題。接受標題是用戶將接受作爲迴應的內容。