1
application/vnd.example.api.json; version=42
有沒有一種簡單的方法來獲取的version
值不用解析env['HTTP_ACCEPT']
?
BTW:
檢查request.accept
,我們可以發現一個@params
實例方法:
[#<Sinatra::Request::AcceptEntry:0x007fd214b3e500 @entry="application/vnd.example.api.json; version=42", @type="application/vnd.example.api.json", @params={"version"=>"42"}, @q=1.0>]
它們可用於訪問它的方式...
奇怪,我有:'NoMethodError - 未定義的方法 'PARAMS' 爲#<陣列:0x007fcc12319bc0>'。 .. – Doug
@Doug'request.accept'返回一個'AcceptEntry'數組。你需要像request.accept.find {| entry | entry.to_s =='application/vnd.example.api.json'}。params ['version']'。 (你也應該檢查'find'的結果是否爲'nil'。) – matt
只需修復答案,女巫似乎是最簡單的解決方案。 – Doug