PLay框架具有多个参数问题的路由

时间:2011-07-20 13:30:08

标签: java groovy routing playframework

我似乎无法解决以下没有找到路由的情况。

获得了包含以下条目的路线文件:


GET     /reports/items/{date}                          Reports.items(field:'all')

和控制器用

定义

public static void items(@Required Date date, String field){
...
}

视图使用@ {items(date)}或@ {items(date,'all')}

网址转换为: 本地主机:9000 /报告/项目/ 19-07-2011字段=所有

我似乎总是找不到:


tried the following route
GET       /                                                 Reports.index
GET       /reports/items/{date}                             Reports.items 

如果没有提供我可以如何路由和默认字段为'all'的任何想法?

1 个答案:

答案 0 :(得分:3)

我相信你需要的是:

GET       /reports/items/{date}                     Reports.items(field:'all') 
GET       /reports/items/{date}/{field}             Reports.items 

首先,系统会将请求与仅日期匹配(将使用'all'作为字段的默认值。)

如果它不匹配,因为你添加了字段,它将转到第二个GET,其中两个参数都将映射到控制器。