@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