Play无法使用scala通过url传递参数

时间:2018-06-06 10:58:40

标签: scala playframework

我在控制器中有这个:

def greet(name: String) = Action {
    Ok("Hello " + name)
}

这在我的路线中:

GET     /greet                      controllers.HomeController.greet(name)

我收到错误说:

错误请求

对于请求'GET / greet?asd'[缺少参数:名称]

如何传递参数?

1 个答案:

答案 0 :(得分:0)

您需要更新route,包括名称参数,如下所示:

GET     /greet/:name       controllers.HomeController.greet(name)

或者您可以将其作为GET参数传递给:

网址:www.example.com/greet?name=testing

def greet(name: String) = Action {
 implicit request =>
   val maybeName: Option[String] = request.getQueryString("name")
   println(s'This is an optional parameter $maybeName')
   Ok('')
}