Faruk Sahin
Faruk Sahin

Reputation: 8756

Play framework - Scala, Method is defined twice

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)

Upvotes: 5

Views: 1017

Answers (1)

Andrew Conner
Andrew Conner

Reputation: 1436

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)

Upvotes: 10

Related Questions