All Downloads are FREE. Search and download functionalities are using the official Maven repository.

WEBPIECESxPACKAGE.base.AppRoutes Maven / Gradle / Ivy

package WEBPIECESxPACKAGE.base;

import static WEBPIECESxPACKAGE.base.examples.ExamplesRouteId.ASYNC_ROUTE;
import static WEBPIECESxPACKAGE.base.examples.ExamplesRouteId.LIST_EXAMPLES;
import static WEBPIECESxPACKAGE.base.examples.ExamplesRouteId.MAIN_ROUTE;
import static WEBPIECESxPACKAGE.base.examples.ExamplesRouteId.MAIN_ROUTE2;
import static WEBPIECESxPACKAGE.base.examples.ExamplesRouteId.MAIN_ROUTE3;
import static WEBPIECESxPACKAGE.base.examples.ExamplesRouteId.REDIRECT_PAGE;
import static org.webpieces.ctx.api.HttpMethod.GET;

import org.webpieces.router.api.routing.AbstractRoutes;

import WEBPIECESxPACKAGE.base.examples.ExamplesRouteId;

public class AppRoutes extends AbstractRoutes {

	@Override
	public void configure() {
		//You can always do a platform override on ControllerResolver.java as well to resolve the controller String in some other
		//way.  The controller string is the 3rd parameter in the addRoute calls
		
		//The path parameter(2nd param) is a semi-regular expression that we match on.  We convert {...} to a 
		//   regex a capture group for you BUT leave the rest untouched so you can whatever regex you like
		//   ORDER matters so the order of modules is important and the order of routes
		//
		//The controller.method is a relative or absolute path with ClassName.method at the end
		//RouteIds are used to redirect in the webapp itself and must be unique
		addRoute(GET, "/",              "examples/ExamplesController.index", MAIN_ROUTE);
		addRoute(GET, "/main2",         "/WEBPIECESxPACKAGE/base/examples/ExamplesController.index", MAIN_ROUTE2);
		addRoute(GET, "/main3",         "WEBPIECESxPACKAGE.base.examples.ExamplesController.index", MAIN_ROUTE3);
		
		addRoute(GET, "/home",          "crud/login/AppLoginController.index", ExamplesRouteId.HOME);
		addRoute(GET, "/tags",          "crud/login/AppLoginController.tags", ExamplesRouteId.TAGS);

		addRoute(GET, "/user/{name}", "examples/ExamplesController.loadUser", ExamplesRouteId.LOAD_USER);    

		addRoute(GET, "/examples",      "examples/ExamplesController.exampleList", LIST_EXAMPLES);      //local controller(same package as your RouteModule!!!!)
		addRoute(GET, "/redirect/{id}", "examples/ExamplesController.redirect", REDIRECT_PAGE);    //shows a redirect example in the controller method
		addRoute(GET, "/async",         "examples/ExamplesController.myAsyncMethod", ASYNC_ROUTE); //for advanced users who want to release threads to do more work

		addStaticDir("/assets/", "public/", false);
		//Add a single file by itself(not really needed)
		addStaticFile("/favicon.ico", "public/favicon.ico", false);
		addStaticFile("/test.css", "public/crud/fonts.css", false);

		setPageNotFoundRoute("examples/ExamplesController.notFound");
		setInternalErrorRoute("examples/ExamplesController.internalError");
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy