Play框架中的可选命名参数

时间:2013-10-07 15:27:35

标签: scala playframework playframework-2.1 playframework-2.2

在Rails中,我可以说:

get 'path1/:path2/(:path3)' => "controller#action"

其中path3是一个可选的命名参数,前面有一个斜杠。在Play Framework中,我只找到了这样做的方法,但只针对?的参数。

我如何在Play Framework中执行此操作?

1 个答案:

答案 0 :(得分:8)

使用2.1,see

删除了对可选路径参数的支持
  

我们删除了路径可绑定中的Option [...]支持,因为拥有可选的path参数没有意义。您可以实现自己的路径可绑定,如果您愿意,可以支持它。

描述了一种可能的解决方案(自己实现可绑定)here

但最简单的解决方案可能是简单地定义两条路线:

GET   /path/:a                   controllers.Application.show(a, b = "default")
GET   /path/:a/:b                controllers.Application.show(a, b)

顺便提一下,您所指的是路径参数和查询参数(URL中?之后的部分)。 Named parameters是一个完全不同(且无关)的故事。

相关问题