在 Rails 中,我可以说:
get 'path1/:path2/(:path3)' => "controller#action"
wherepath3
是一个可选的命名参数,它前面有一个斜杠。在 Play Framework 中,我只找到了执行此类操作的方法,但仅适用于带有?
.
我如何在 Play Framework 中做到这一点?
在 Rails 中,我可以说:
get 'path1/:path2/(:path3)' => "controller#action"
wherepath3
是一个可选的命名参数,它前面有一个斜杠。在 Play Framework 中,我只找到了执行此类操作的方法,但仅适用于带有?
.
我如何在 Play Framework 中做到这一点?
2.1 已删除对可选路径参数的支持,请参阅:
我们删除了路径绑定中的 Option[...] 支持,因为拥有可选路径参数没有意义。如果您愿意,您可以实现自己的可绑定路径以支持它。
此处描述了一种可能的解决方案(您自己实现了可绑定)。
但最简单的解决方案可能是简单地定义两条路线:
GET /path/:a controllers.Application.show(a, b = "default")
GET /path/:a/:b controllers.Application.show(a, b)
顺便说一句,您所指的是路径参数和查询参数(?
URL 后面的部分)。命名参数是一个完全不同(且不相关)的故事。