3

playframework 2scalaのplay.mvc.Router.routesに相当するものは何ですか?

playframework 1.xでは、コントローラーで使用可能なルートを反復処理できます。

for(Route route:Router.routes){
    ...
}

PlayFramework 2 Scalaでこれを行うにはどうすればよいですか?

見つからない開発モードテンプレートはそれらを反復処理できるようですが、コントローラーでこれを行う必要があります。

4

1 に答える 1

8

Play2.0ではそれを実際に行うことはできません。

ルートはとして定義され、PartialFunction[RequestHeader, Handler]この関数の定義域を知る方法はありません。

それでも、見つからないテンプレートに示されているように、アプリケーションのルートに関する情報を取得できます。Play2.0ルーターは、アプリケーションのルートdocumentationごとに、HTTPメソッド(GETPUTなど)、パスパターン、および最後に、conf/routesファイルに書き込まれたとおりの呼び出し。

ルーターは、Routes起動時にPlayアプリケーションによってロードされるオブジェクトを生成します。次のようにアクセスできます。

for {
  routes <- play.api.Play.current.routes.toList
  (method, pattern, call) <- routes.documentation
} yield {
  …
}
于 2012-05-10T18:11:47.733 に答える