使用Java Playframework基于基本路由将所有请求发送到单个控制器

时间:2018-01-12 09:52:38

标签: playframework playframework-2.6

使用下面的示例,我希望所有service个请求(以app / service开头的路由)由同一个控制器处理。这可以使用Java Play吗?

app/service/one
app/service/two/:param

然后,控制器将检查路由的其余部分并相应地处理请求。

编辑1:目标是确保每次需要添加routes类型的新路由时都不必更新service文件。理想情况下,我在路径文件中只有一个service路由来处理以service开头的所有路由。

1 个答案:

答案 0 :(得分:1)

是的,为什么不呢?

(robocopy src dst) ^& IF %ERRORLEVEL% LSS 8 SET ERRORLEVEL = 0

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)

或......看看https://www.playframework.com/documentation/2.6.x/JavaRouting

修改1

类似于:

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#Dynamic-parts-spanning-several-/

注意

  

请注意,跨越多个/的动态部分不由路由器解码或由反向路由器编码。您有责任像对任何用户输入一样验证原始URI段。反向路由器只是进行字符串连接,因此您需要确保生成的路径有效,并且不要包含多个前导斜杠或非ASCII字符。