Loading AI tools
Jakarta EE specification From Wikipedia, the free encyclopedia
Jakarta RESTful Web Services, (JAX-RS; formerly Java API for RESTful Web Services) is a Jakarta EE API specification 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.
Original author(s) | Sun Microsystems |
---|---|
Developer(s) | Eclipse Foundation |
Stable release | 3.1.9
/ October 17, 2024 |
Repository | |
Written in | Java |
Operating system | Cross-platform |
Platform | Java |
Type | Application framework |
License | EPL 2.0 or GPL v2 w/Classpath exception |
Website | projects |
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.
JAX-RS provides some annotations to aid in mapping a resource class (a POJO) as a web resource. The annotations use the Java package jakarta.ws.rs
(previously was javax.ws.rs
but was renamed on May 19, 2019[2]). They include:
@Path
specifies the relative path for a resource class or method.@GET
, @PUT
, @POST
, @DELETE
and @HEAD
specify the HTTP request type of a resource.@Produces
specifies the response Internet media types (used for content negotiation).@Consumes
specifies the accepted request Internet media types.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
).In January 2011 the JCP formed the JSR 339 expert group 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. In May 2013, it reached the Final Release stage.[3]
On 2017-08-22 JAX-RS 2.1[4] specification final release was published. Main new supported features include server-sent events, reactive clients, and JSON-B.[5]
Implementations of JAX-RS include:[6]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.