سؤال

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