1

在 Rails 中,我可以说:

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

wherepath3是一个可选的命名参数,它前面有一个斜杠。在 Play Framework 中,我只找到了执行此类操作的方法,但仅适用于带有?.

我如何在 Play Framework 中做到这一点?

4

1 回答 1

8

2.1 已删除对可选路径参数的支持,请参阅

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

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

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

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

顺便说一句,您所指的是路径参数和查询参数(?URL 后面的部分)。命名参数是一个完全不同(且不相关)的故事。

于 2013-10-07T15:39:16.743 回答