1

我想知道我们是否可以像传递 Int 或 Long 或 String 等那样在函数中传递 Map 或 List?如果是,那么如果我们有地图怎么办?

我正在使用播放 2.0.4。

4

2 回答 2

1

不在 2.0.4 中,除非您定义一些隐式查询绑定器。Play 2.1+ 为通用列表(即List[T])定义了查询绑定器。您可以从存储库中复制实现并将其粘贴到您的项目中(就像我所做的那样 - 请参阅此问题和答案)。

于 2012-10-24T20:59:43.003 回答
0

您的问题有点不清楚,但我猜您指的是 Play/conf/routes调度机制,其中路由语句如下:

GET /hello/:id      controllers.Application.hello(id: Int)

将被编译以便id解析为Int(或其他),并传递给helloAction。猜测更多,您可能想要解析查询字符串(例如"a=1&b=2"to Map("a" -> "1", "b" -> "2"),并将其作为Map[String, String]参数传递给 Action。

我不认为这是可能的。您可以编写引用查询字符串的路由条目,并且可以使用正则表达式,但这不会让您到达那里。要访问 GET 请求的查询参数,请将request参数添加到 Action,然后查看request.queryString

于 2012-10-24T14:41:48.760 回答