"articles/:id<[0-9]+>.
"articles/:id<[0-9]+>.:format" gives 2 tokens: - NonDotRouteToken("articles", false, None) - DotRouteToken(Seq(NonDotRouteToken("id", true, Some("[0-9]+".r)), NonDotRouteToken("format", true, None)))
"articles/:id<[0-9]+>" gives 2 tokens: - NonDotRouteToken("articles", false, None) - NonDotRouteToken("id", true, Some("[0-9]+".
"articles/:id<[0-9]+>" gives 2 tokens: - NonDotRouteToken("articles", false, None) - NonDotRouteToken("id", true, Some("[0-9]+".r))
Routes are sorted reveresly by the number of placeholders because we want to fill as many placeholders as possible.
Direct listing is used, map is not used, so that route matching is faster.
Scan all classes to collect routes from actions.
"websocket" and "cookieNeeded" members are named after SockJS options, ex: {"websocket": true, "cookie_needed": false, "origins": ["*:*"], "entropy": 123}
"websocket" and "cookieNeeded" members are named after SockJS options, ex: {"websocket": true, "cookie_needed": false, "origins": ["*:*"], "entropy": 123}
- websocket: true means WebSocket is enabled - cookieNeeded: true means load balancers needs JSESSION cookie
This path is for users to easily remember: http(s)://host[:port]/xitrum/swagger
The directory path should be the same with other Swagger UI files.