Вопрос

I want to map multiple URLs into an overloaded controller method as below. But I get the error "Method account is defined twice". So, is it possible to do this in scala - play framework?

GET     /order/:userId             controllers.Application.account(userId)       
GET     /order/:userId/:date       controllers.Application.account(userId, date)
Это было полезно?

Решение

Because of the way the reverse routing works, you need to specify both parameters to use account like that. Here's an example that works:

In Application.scala:

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

In routes:

GET /order/:userId           controllers.Application.account(userId, date="")
GET /order/:userId/:date     controllers.Application.account(userId, date)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top