我使用Router traitdocumentation
提供的方法获得了所需的列表。documentation方法返回。这里每个元组具有以下格式:Seq[(String, String, String)]
({http-method},{url},{controller方法})
该路由器特点是所有自动生成的扩展Routes.scala
类。Scala编译器Routes.scala
为routes
应用程序中的每个文件生成了单独的文件。这些自动生成的Routes.scala
文件实现了路由器特性的所有方法,包括我们上面讨论的文档方法。
因此,要获取所有URL的列表,我只需要inject the Router trait
然后访问documentation method
:
import play.api.routing.Router
class MyClass @Inject()(router: Router) {
def getAllURLs:Seq[String] = router.documentation.map(k => k._2)
}