package org.jooby.issues; import org.jooby.Jooby; import org.jooby.Route; import org.jooby.mvc.GET; import org.jooby.mvc.Path; import org.jooby.test.ServerFeature; import org.junit.Test; public class Issue187 extends ServerFeature { public static class RouteBean1 { @GET @Path("/1/foo") public String name(final Route route) { return route.name(); } } public static class RouteBean2 { @GET @Path("/2/foo") public String name(final Route route) { return route.name(); } } public static class App extends Jooby { public App(final String prefix) { super(prefix); get("/foo", req -> req.route().name()) .name("foo"); use(RouteBean2.class); } } public Issue187() { super("187"); use(new App("bar")); use(RouteBean1.class); } @Test public void renameRoutesViaPrefix() throws Exception { request().get("/foo") .expect("/bar/foo"); request().get("/1/foo") .expect("/187/RouteBean1.name"); request().get("/2/foo") .expect("/bar/RouteBean2.name"); } }