在
这会导致以下错误:
如何以正确的方式获取所有类似于上面示例中的Play路由呢?
play-swagger
模块中,我们使用play.routes.compiler.RoutesFileParser
来获取Play中所有已注册的路由,并进一步解析它们以生成API文档:val parsedRoutes = RoutesFileParser.parse(new File(app.classloader.getResource(routesFile).toURI))
val routes = parsedRoutes.right.get.collect {
case (route: PlayRoute) => {
logger.debug(s"Adding route '$route'")
Seq(route.copy(path = route.path.copy(parts = StaticPart(prefix + "/") +: route.path.parts)))
}
case (include: PlayInclude) => {
logger.debug(s"Processing route include $include")
parseRoutesHelper(playRoutesClassNameToFileName(include.router), include.prefix)
}
}.flatten
这会导致以下错误:
java.lang.NoClassDefFoundError: play/routes/compiler/RoutesFileParser
看起来在Play! 2.5中RoutesFileParser
变成了私有的。如何以正确的方式获取所有类似于上面示例中的Play路由呢?