gpt4 book ai didi

playframework-2.0 - 以编程方式在 Play2.0 中添加路线

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

在 play 1.2.X 我们可以做

Router.addRoute("GET", "/somePath", "controller.methodName");

我正在编写一个模块,该模块添加将由模块中的 Controller 处理的“路由”。它是一个 OAuth 处理程序,希望用户能够轻松地不必处理 OAuth 握手等。

如何在 Play 2.0 中做到这一点?

最佳答案

您不能以编程方式添加到 Routes 对象,但您可以通过覆盖 GlobalSettings.onRouteRequest 来拦截 Web 请求并自行处理它们。 .例如:

override def onRouteRequest(request: RequestHeader): Option[Handler] = {
//do our own path matching first - otherwise pass it onto play.
request.path match {
case "/injectedRoute" => Some(controllers.Application.customRoute)
case _ => Play.maybeApplication.flatMap(_.routes.flatMap {
router =>
router.handlerFor(request)
})
}
}

我不知道这是否是推荐的方法,但它对我有用。这是 github 上的一个示例: https://github.com/edeustace/play-injected-routes-example

关于playframework-2.0 - 以编程方式在 Play2.0 中添加路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10116286/

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