@Documented @Retention(value=RUNTIME) @Target(value={TYPE,ANNOTATION_TYPE}) @Bean @Executable @DefaultScope(value=javax.inject.Singleton.class) public @interface Controller
Indicates that the role of a class is a controller within an application.
By default all public methods of a controller are considered Executable and
 the necessary classes generated to perform the invocation.
@AliasFor(annotation=UriMapping.class, member="value") public abstract String value
This attribute returns the base URI of the controller. If not specified the URI will be
 formulated from the controller class name without the "Controller" suffix (ie. MessageController becomes
 /message).
A value of / can be used to map a controller
 to the root URI.
@AliasFor(annotation=Produces.class, member="value") public abstract String[] produces
@AliasFor(annotation=Consumes.class, member="value") public abstract String[] consumes