@@ -18,16 +18,17 @@ package play.modules.swagger
1818
1919import java .io .File
2020import javax .inject .Inject
21+
2122import io .swagger .config .{FilterFactory , ScannerFactory }
22- import play .modules .swagger .util .SwaggerContext
2323import io .swagger .core .filter .SwaggerSpecFilter
2424import play .api .inject .ApplicationLifecycle
25- import play .api .{Logger , Application }
2625import play .api .routing .Router
27- import scala . concurrent . Future
28- import scala . collection . JavaConversions . _
29- import play .routes .compiler .{Route => PlayRoute , Include => PlayInclude , RoutesFileParser , StaticPart }
26+ import play . api .{ Application , Logger }
27+ import play . modules . swagger . util . SwaggerContext
28+ import play .routes .compiler .{RoutesFileParser , StaticPart , Include => PlayInclude , Route => PlayRoute }
3029
30+ import scala .collection .JavaConversions ._
31+ import scala .concurrent .Future
3132import scala .io .Source
3233
3334trait SwaggerPlugin
@@ -124,7 +125,13 @@ class SwaggerPluginImpl @Inject()(lifecycle: ApplicationLifecycle, router: Route
124125 val routes = parsedRoutes.right.get.collect {
125126 case (route : PlayRoute ) => {
126127 logger.debug(s " Adding route ' $route' " )
127- Seq (route.copy(path = route.path.copy(parts = StaticPart (prefix) +: route.path.parts)))
128+ (prefix, route.path.parts) match {
129+ case (" " , _) => Seq (route)
130+ case (_, Seq ()) => Seq (route.copy(path = route.path.copy(parts = StaticPart (prefix) +: route.path.parts)))
131+ case (_, Seq (StaticPart (" " ))) => Seq (route.copy(path = route.path.copy(parts = StaticPart (prefix) +: route.path.parts)))
132+ case (_, Seq (StaticPart (" /" ))) => Seq (route.copy(path = route.path.copy(parts = StaticPart (prefix) +: route.path.parts)))
133+ case (_, _) => Seq (route.copy(path = route.path.copy(parts = StaticPart (prefix) +: StaticPart (" /" ) +: route.path.parts)))
134+ }
128135 }
129136 case (include : PlayInclude ) => {
130137 logger.debug(s " Processing route include $include" )
0 commit comments