【问题标题】:PlayFramework get Routes configuration upon module.configurePlayFramework 在 module.configure 上获取路由配置
【发布时间】:2016-12-19 11:04:26
【问题描述】:

对于我的 Play 2.5 项目,我正在开发一个使用注释来配置安全相关内容的模块。 在我的自定义 guice 模块的配置阶段,我拥有所有带注释的方法和相应的字段值。所以没有问题。

现在我必须将这些值映射到路径(例如 /album/{:id},如路由文件中配置的那样)。

有人知道如何将给定的控制器方法(Application.getAlbum())映射到路由文件中配置的路径吗? (除了我自己加载路由文件并解析吗?)

谢谢!

【问题讨论】:

    标签: playframework playframework-2.0 guice


    【解决方案1】:

    您可以从请求标签访问路由路径。

    在 Java 中:

    requestHeader.tags().get(Router.Tags.ROUTE_PATTERN)
    

    (例如参见DeadboltRoutePathFilter.java

    在 Scala 中:

    requestHeader.tags(Tags.RoutePattern)
    

    (例如参见DeadboltRoutePathFilter.scala

    【讨论】:

    • 感谢您的回复!但是,您所指的是在行动中。我知道您可以使用 ctx() 和请求对象访问它。我实际上指的是模块启动的应用程序的初始化阶段(AbstractModule.configure())。在我的模块中,我需要将某些注释值映射到路由文件中配置的路径。
    • 当我前一阵子看这个时,我在 API 中找到的最接近的是playframework.com/documentation/2.5.x/api/java/play/routing/…,但即使那样你也没有得到路由对象。这就是为什么我在 Deadbolt 中的实现会根据每个请求匹配路径。
    猜你喜欢
    • 2018-07-18
    • 2014-04-15
    • 2016-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多