URLの動的部分のマッチングは、/[^./]+/が使われるそうなので、
routesを↓のように設定すると
上手くいかないroutes
GET /path/{id}.{format} Controller.method
http://example.com/12345.json
というリクエストをしても、コントローラー側では、
{id} に"12345.json"
{format}に null
が設定されてしまい。意図した動きにならない。
そこでマッチングの正規表現を/[^\.]+/に変えてマッチングさせる。
設定
正しいroutes
GET /path/{<[^\.]+>id}.{format} Controller.method
コントローラー側は、
static public void method(String id, String format){
// some logic
}
と設定すると、id, formatにURLから値が設定される。