Java API for RESTful Web Services

JAX-RS: Java API for RESTful Web Services is a Java programming language API that provides support in creating web services according to the Representational State Transfer (REST) architectural style.[1] JAX-RS uses annotations, introduced in Java SE 5, to simplify the development and deployment of web service clients and endpoints.

From version 1.1 on, JAX-RS is an official part of Java EE 6. A notable feature of being an official part of Java EE is that no configuration is necessary to start using JAX-RS. For non-Java EE 6 environments a (small) entry in the web.xml deployment descriptor is required.

Contents

Specification

JAX-RS provides some annotations to aid in mapping a resource class (a POJO) as a web resource. The annotations include:

In addition, it provides further annotations to method parameters to pull information out of the request. All the @*Param annotations take a key of some form which is used to look up the value required.

JAX-RS 2.0

In January 2011 the JCP formed an expert group [1] to work on JAX-RS 2.0. The main targets are (among others) a common client API and support for Hypermedia following the HATEOAS-principle of REST. The reference implementation will be provided by the team surrounding Oracle's Paul Sandoz, after the former specification lead Marc Hadley had left Oracle shortly before. Public release (GA) is planned for spring 2012.

Implementation

Implementations of JAX-RS include:[2]

Jersey

According to the Java EE 6 Tutorial, Volume 1: Jersey is Sun's production quality reference implementation for JSR 311: JAX-RS: The Java API for RESTful Web Services. Jersey implements support for the annotations defined in JSR-311, making it easy for developers to build RESTful web services with Java and the Java JVM. Jersey also adds additional features not specified by the JSR.[3]

Notes

References

External links

See also