gpt4 book ai didi

playframework - 可以像这样 Play 2.x 匹配动态网址

转载 作者:行者123 更新时间:2023-12-04 18:16:45 25 4
gpt4 key购买 nike

我知道 play 可以匹配/something/{id}。我们想要的有点复杂,因为我可能会移植一个原型(prototype)来玩,因为我真的很喜欢异步东西的能力。

我们有这样的网址

/services/<moduleA>/<moduleB>/....

我真正想要的是这样的模式
/services/{capture-all-of the modules}

在现有系统中,将有 10 个模块,可能是 3 个,但客户端决定如何将模块连接在一起,并且返回的数据基于该 url 通过每个模块进行管道传输。在 playframework 中是否有这样做的潜力?

谢谢,
院长

最佳答案

您可以捕获所有以/services/开头的 URL 并创建自己的 requestDispatcher(未测试):

//routes
GET /services/*toBeRouted controllers.Dispatcher.dispatch(toBeRouted: String)

//Dispatcher object
def dispatch(toBeRouted: String) = Action { implicit request =>
toBeRouted.split("/") match {
case Nil => BadRequest(views.html.default.wrongModule())
case _ => {
...//Route to the right controller
}
}
}

重要提示:跨越多个斜杠的路径规则必须带有星号而不是冒号: *toBeRouted
您可以更进一步,使用 regexp 仅在路由文件中捕获有效模式。

关于playframework - 可以像这样 Play 2.x 匹配动态网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11506823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com