MarketJakarta RESTful Web Services
Company Profile

Jakarta RESTful Web Services

Jakarta 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. JAX-RS uses annotations, introduced in Java SE 5, to simplify the development and deployment of web service clients and endpoints.

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 jakarta.ws.rs (previously was javax.ws.rs but was renamed on May 19, 2019). They include: • @Path specifies the relative path for a resource class or method. • @GET, @POST, @PUT, @PATCH (since JAX-RS 2.1), @DELETE, @HEAD and @OPTIONS (since JAX-RS 1.1) 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). == JAX-RS 2.0 ==
JAX-RS 2.0
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. On 2017-08-22 JAX-RS 2.1 specification final release was published. Main new supported features include server-sent events, reactive clients, and JSON-B. ==Implementations==
Implementations
Implementations of JAX-RS include: • Apache CXF, an open source Web service framework • Jersey, the reference implementation from Sun (now Oracle) • RESTeasy, JBoss's implementation • RestletWebSphere Application Server from IBM: • Version 7.0: via the "Feature Pack for Communications Enabled Applications" • Version 8.0 onwards: natively • WebLogic Application Server from Oracle, see notes • Apache Tuscany (http://tuscany.apache.org/documentation-2x/sca-java-bindingrest.html), discontinued • Cuubez framework (https://web.archive.org/web/20190707005602/http://cuubez.com/) • Everrest, Codenvy's Implementation • Jello-Framework, Java Application Framework optimized for Google App Engine, including a powerful RESTful engine and comprehensive Data Authorization model. • Apache TomEE, an addition to Apache Tomcat ==References==
tickerdossier.comtickerdossier.substack.com