Interface RouteGroup


  • public interface RouteGroup

    A bundle of routes mounted underneath /data/group-name/*

    Each route will be activated when a web request that matches the route's method and path comes into the Ignition webserver. The route handler will then be called to provide a response. The response can then be rendered to a string via the response renderer, if desired. Some examples:

    Mounts a text/plain response of "hello, world" at /data/module-id/hello_world

         routeGroup.newRoute("/hello_world")
           .handler((request, response) -> "Hello, world!")
           .mount();
     

    Mounts a json response that serializes a lits of widget objects using GSON

         routeGroup.newRoute("/widgets")
           .handler(this::getWidgetList)
           .renderer(gson::toJson)
           .type("application/json")
           .mount();
     

    Mounts a json response that fetches a specific object, using url parameter matching. For example, the URL request /data/module-id/widget/8271 would fetch widget with id=8271

         routeGroup.newRoute("/widget/:id")
           .handler((request, response) -> findWidget(request.getParameter("id"))
           .renderer(gson::toJson)
           .type("application/json")
           .mount();
     

    Mounts a plain text response that can only be accessed if the user has a session that is authorized to view the main/web/status section of the gateway web ui.

         routeGroup.newRoute("/canyouseethis")
           .handler((request, response) -> "yes you can")
           .restrict(WicketAccessControl.STATUS_SECTION)
           .mount();