SeamFramework.orgCommunity Documentation
The Seam REST module runs only on Java EE 6 compliant servers such as JBoss Application Server or GlassFish.
To use the Seam REST module, add
seam-rest
and
seam-rest-api
jars into the web application.
If using Maven, add the following
dependency
into the web application's
pom.xml
configuration file.
Example 35.1. Dependency added to pom.xml
<dependency>
<groupId>org.jboss.seam.rest</groupId>
<artifactId>seam-rest-api</artifactId>
<version>${seam.rest.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.seam.rest</groupId>
<artifactId>seam-rest-impl</artifactId>
<version>${seam.rest.version}</version>
</dependency>
Substitute the expression ${seam.rest.version} with the most recent or appropriate version of Seam Catch. Alternatively, you can create a Maven user-defined property to satisfy this substitution so you can centrally manage the version.
Besides, Seam REST has several transitive dependencies (which are added automatically when using maven). Refer to Table 40.1, “Transitive dependencies” for more details.
The Seam REST module registers SeamExceptionMapper
to hook into the exception processing mechanism of JAX-RS and TemplatingMessageBodyWriter
to provide templating support.
These components are registered by default if classpath scanning
of JAX-RS resources and providers is enabled (an empty javax.ws.rs.core.Application
subclass is provided).
@ApplicationPath("/api/*")
public class MyApplication extends Application {}
Otherwise, if the Application's getClasses()
method is overriden to select resources and providers explicitlyy
add SeamExceptionMapper
and TemplatingMessageBodyWriter
.
@ApplicationPath("/api/*")
public class MyApplication extends Application
{
@Override
public Set<Class<?>> getClasses()
{
Set<Class<?>> classes = new HashSet<Class<?>>();
...
...
...
classes.add(SeamExceptionMapper.class);
classes.add(TemplatingMessageBodyWriter.class);
return classes;
}
}