我想知道我们是否可以像传递 Int 或 Long 或 String 等那样在函数中传递 Map 或 List?如果是,那么如果我们有地图怎么办?
我正在使用播放 2.0.4。
我想知道我们是否可以像传递 Int 或 Long 或 String 等那样在函数中传递 Map 或 List?如果是,那么如果我们有地图怎么办?
我正在使用播放 2.0.4。
不在 2.0.4 中,除非您定义一些隐式查询绑定器。Play 2.1+ 为通用列表(即List[T]
)定义了查询绑定器。您可以从存储库中复制实现并将其粘贴到您的项目中(就像我所做的那样 - 请参阅此问题和答案)。
您的问题有点不清楚,但我猜您指的是 Play/conf/routes
调度机制,其中路由语句如下:
GET /hello/:id controllers.Application.hello(id: Int)
将被编译以便id
解析为Int
(或其他),并传递给hello
Action。猜测更多,您可能想要解析查询字符串(例如"a=1&b=2"
to Map("a" -> "1", "b" -> "2"
),并将其作为Map[String, String]
参数传递给 Action。
我不认为这是可能的。您可以编写引用查询字符串的路由条目,并且可以使用正则表达式,但这不会让您到达那里。要访问 GET 请求的查询参数,请将request
参数添加到 Action,然后查看request.queryString