Java API for RESTful Web Services

Java API for RESTful Web Services (JAX-RS)
Developer(s) Oracle Corporation (initial code from Sun Microsystems)
Stable release
2.1 / September 21, 2017 (2017-09-21)
Written in Java
Operating system Cross-platform
Platform Java Virtual Machine
Type Application framework
License CDDL v1.1 and GPL v2
Website github.com/jax-rs

JAX-RS: Java API for RESTful Web Services (JAX-RS) is a Java programming language API spec that provides support in creating web services according to the Representational State Transfer (REST) architectural pattern.[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.

Specification

JAX-RS provides some annotations to aid in mapping a resource class (a POJO) as a web resource. The annotations use the Java package javax.ws.rs. They 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.

  • @PathParam binds the method parameter to a path segment.
  • @QueryParam binds the method parameter to the value of an HTTP query parameter.
  • @MatrixParam binds the method parameter to the value of an HTTP matrix parameter.
  • @HeaderParam binds the method parameter to an HTTP header value.
  • @CookieParam binds the method parameter to a cookie value.
  • @FormParam binds the method parameter to a form value.
  • @DefaultValue specifies a default value for the above bindings when the key is not found.
  • @Context returns the entire context of the object (for example @Context HttpServletRequest request).

JAX-RS 2.0

In January 2011 the JCP formed the JSR 339 expert group to work on JAX-RS 2.0.[2] The main targets are (among others) a common client API and support for Hypermedia following the HATEOAS-principle of REST. In May 2013, it reached the Final Release stage.[3]

Implementations

Implementations of JAX-RS include:[4]

Tutorials

Notes

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.