Я впервые использую параметры в маршруте, и я не уверен, ожидаемо ли поведение, которое я вижу,
Я хочу использовать URL следующим образом
http://localhost:9000/home;signup=error
Полагаю, что приведенное выше означает, что signup
является параметром url, так как ему предшествует ;
В моем файле маршрутов я сопоставляю URL, используя следующий файл
GET /home:signup controllers.HomeController.index(signup)
А мой Action
это
def index(signupMessage:String = "") = addToken {
silhouette.UserAwareAction { implicit request =>
println(s"index action called with request ${utilities.printPlayHttpRequest(request)}")
println(s"index page's argument "+signupMessage)
val Token(name, value) = CSRF.getToken.get
println(s"Token name ${name}, value ${value}")
Ok(views.html.index(signupMessage,messagesApi("app.title")(langs.availables(0))))
}
}
Вопрос 1 - Я заметил, что параметр signup
равен ;signup=error
, а не signup=error
(дополнительно ;
). Разве это не должно быть только signup=error
Вопрос 2 - Если я хочу, чтобы URL был http://localhost:9000/home;signup=error;reason=expired
(два параметра), как я могу написать для него маршрут? Будет ли это
GET /home:signup:reason controllers.HomeController.index(signup,reason)