DebugWebModule provides a configurable endpoint for developer related web resources from other modules. It allows other modules to register one or more debug web controllers upon the presence of the DebugWebModule. A typical example of a debug web controller would be a controller to introspect and manage the cache. Out of the box DebugWebModule comes with a set of default controllers that allow you to introspect the running AcrossContext.

How DebugWebModule works

DebugWebModule creates a new RequestMappingHandlerMapping endpoint that serves all @RequestMapping methods from beans annotated with @DebugWebController. All mappings will be prefixed with the configured root path (eg: /debug) ensuring that all web controllers are behind a base path. Under the hood, DebugWebModule achieves this by creating a specific PrefixingRequestMappingHandlerMapping instance named DebugWebModule.

All @DebugWebController instances are automatically mapped on the default debug web layout template. The template takes care of dynamically building a top menu where controllers can position themselves. For output rendering a Thymeleaf template based on Bootstrap and JQuery is used.