使用下面的示例,我希望所有service
请求(以 app/service 开头的路由)都由同一个控制器处理。这可以使用 Java Play 吗?
app/service/one
app/service/two/:param
然后控制器将检查路由的其余部分并相应地处理请求。
编辑1:routes
目标是确保每次service
需要添加新的类型路由时我都不必更新文件。所以理想情况下,我service
在路由文件中只有一个路由来处理所有以service
.
使用下面的示例,我希望所有service
请求(以 app/service 开头的路由)都由同一个控制器处理。这可以使用 Java Play 吗?
app/service/one
app/service/two/:param
然后控制器将检查路由的其余部分并相应地处理请求。
编辑1:routes
目标是确保每次service
需要添加新的类型路由时我都不必更新文件。所以理想情况下,我service
在路由文件中只有一个路由来处理所有以service
.
是的,为什么不?
app/service/one controllers.Clients.one()
app/service/two/:param controllers.Clients.two(param: String)
或者
app/service/one controllers.Clients.path(path = "one")
app/service/two/:param controllers.Clients.path(path = "two", param: String)
或者
app/service/:cat controllers.Clients.path(cat = "one")
app/service/:cat/:param controllers.Clients.path(cat: String, param: String)
或...查看https://www.playframework.com/documentation/2.6.x/JavaRouting
编辑 1
类似于:
app/service/*path controllers.Controller.handle(path)
请在此处阅读详细信息: https ://www.playframework.com/documentation/2.6.x/JavaRouting#Dynamic-parts-spanning-several-/
注意力
请注意,跨越多个 / 的动态部分不会由路由器解码或由反向路由器编码。您有责任像验证任何用户输入一样验证原始 URI 段。反向路由器只是进行字符串连接,因此您需要确保生成的路径有效,并且不包含例如多个前导斜杠或非 ASCII 字符。