2012-03-02 2 views
1

は私の部分の構文の問題でなければなりませんが、非常にそれを固定することはできません。なぜPlayですか?ルートの{format}パラメータを分割しますか?

私のコントローラでは、私は、この定義されています:

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} 

私のような何かを掲示:私は実際にリクエストを実行するために行くときに、それは{のparam}を取り、期間を含む/34523452345/job/today.json

を。私はスラッシュ/に期間を切り替えるのであれば、結果は{paramは} today.jsあると{フォーマット}はon

なっキャッチのためにそれだけで罰金

の作品、問題の原因は何ですか?

+1

あなたはドットをエスケープしようとしましたか? \。 –

+0

@PereVillegaが何かをしていると思います。彼らが正規表現を使用する場合、 '.'は任意の文字を表します。 –

+0

は美しく仕上がりました! @PereVillegaは答えとして私はすぐにそれを受け入れるでしょう。 :) – crockpotveggies

答えて

2

Playはroutesファイルでregexpを使用するので、\.のようにドットをエスケープする必要があると思います。

関連する問題