2012-09-20 16 views
5

Chcę zmapować wiele adresów URL na przeciążoną metodę kontrolera, jak poniżej. Ale pojawia się błąd "Konto metody jest zdefiniowane dwukrotnie". Czy jest to możliwe w scala - play framework?Play framework - Scala, Metoda jest zdefiniowana dwukrotnie

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

Odpowiedz

10

Ze względu na sposób działania odwrotnego routingu, należy określić oba parametry, aby użyć takiego account. Oto przykład, który działa:

W Application.scala:

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

W trasach:

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

+1 ale wciąż wieje z kawałkami, nie przeciążanie ;-( – virtualeyes

Powiązane problemy