2012-09-20 66 views
5

我想將多個URL映射到一個重載的控制器方法如下。但是我收到錯誤「方法帳戶被定義兩次」。那麼,在scala-play框架中可以做到這一點嗎?Play框架 - 斯卡拉,方法定義兩次

GET  /order/:userId    controllers.Application.account(userId)  
GET  /order/:userId/:date  controllers.Application.account(userId, date) 

回答

10

由於反向路由的工作方式,您需要指定兩個參數以使用account。下面是工作的例子:

在Application.scala:

def account(userId: String, date: String) = Action { 
    Ok(userId + " and " + date) 
} 

在路線:

GET /order/:userId   controllers.Application.account(userId, date="") 
GET /order/:userId/:date  controllers.Application.account(userId, date) 
+1

+1,但仍,大塊的吹,沒有超載;-( – virtualeyes