2012-09-20 22 views
5

Quiero asignar varias URL a un método de controlador sobrecargado como se muestra a continuación. Pero me aparece el error "La cuenta del método está definida dos veces". Entonces, ¿es posible hacer esto en el marco scala - play?Marco de juego - Scala, el método se define dos veces

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

Respuesta

10

Debido a la forma en que funciona ruta inversa, es preciso especificar ambos parámetros a utilizar account así. Aquí hay un ejemplo que funciona:

En Application.scala:

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

En rutas:

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

+1 pero aún así, el sonido de trozos, sin sobrecarga ;-( – virtualeyes

Cuestiones relacionadas