2012-03-02 31 views
1

必須是我的一個語法問題,但不能完全用別針把它:爲什麼玩!拆分路由中的{格式}參數?

在我的控制器我有這樣的定義:

request.format match { 
     case "json" => Json(output) 
     case "xml" => toXml(parse(output.toString)) 
     case _ => BadRequest 
    } 

而在我的路線我有這樣的定義:

# Map the API to the proper domain 
GET  /{key}/{action}/{param}.{format} API.{action} 
POST /{key}/{action}/{param}.{format} API.{action} 

我張貼類似:/34523452345/job/today.json

所以,當我去到實際運行的要求,它需要{} PARAM包括時期。因此,對於{PARAM}的結果是today.js和{格式}變爲on

漁獲如果切換期間正斜槓/它工作得很好

有什麼問題的原因是什麼?

+1

你試過逃離點嗎? \。 – 2012-03-02 11:10:16

+0

我認爲@PereVillega正在開展一些工作。如果他們使用正則表達式,那麼'.'代表任何字符。 – 2012-03-02 17:10:19

+0

工作得很漂亮! @PereVillega發佈這個答案,我會馬上接受它。 :) – crockpotveggies 2012-03-02 20:32:01

回答

2

我相信你必須像\.那樣跳過點,因爲Play在routes文件中使用正則表達式。

相關問題