RESTEasy

RESTEasy is a JBoss / Red Hat project that provides various frameworks to help you build RESTful Web Services and RESTful Java applications. It is an implementation of the Jakarta RESTful Web Services, an Eclipse Foundation specification that provides a Java API for RESTful Web Services over the HTTP protocol.
Moreover, RESTEasy also implements the MicroProfile REST Client specification API.

RESTEasy can run in any Servlet container, but tighter integration with WildFly Application Server and Quarkus is also available to make the user experience nicer in those environments.

Features

  • Implements Jakarta RESTful Web Services (JAX-RS)
  • Portable to Tomcat and many other app-server
  • Embeddedable server implementation for JUnit testing
  • Enhanced client framework
  • Client "Browser" cache. Supports HTTP 1.1 caching semantics including cache revalidation
  • Server in-memory cache. Local response cache. Automatically handles ETag generation and cache revalidation
  • Rich set of providers for: XML, JSON, YAML, Fastinfoset, Multipart, XOP, Atom, etc.
  • JAXB marshalling into XML, JSON, Jackson, Fastinfoset, and Atom as well as wrappers for maps, arrays, lists, and sets of JAXB Objects.
  • GZIP content-encoding
  • Asynchronous HTTP abstractions for Servlet 3
  • Reactive support
  • Asynchronous Job Service.
  • Rich interceptor model.
  • OAuth2 and Distributed SSO with JBoss AS7
  • Digital Signature and encryption support with S/MIME and DOSETA
  • EJB, Seam, Guice, Spring, Spring MVC and Spring Boot integration

 

Latest News

Since RESTEasy implements the Jakarta RESTful Web Services 3.1 API, it includes an implementation for the jakarta.ws.rs.SeBootstrap API. The API allows the jakarta.ws.rs.core.Application to be run in a Java SE environment. In this article, I’ll focus on its usage of the feature. Firstly, the simplest way to use the the feature is to write a code block like this: SeBootstrap.start(MyApp.class) .thenApply(instance -> { instance.stopOnShutdown((stopResult -> System.out.println("Container has stopped."))); try (Client client = ClientBuilder.newClient()) { final...

Read More >

Today RESTEasy 6.2.1.Final was released. This is a minor release mostly consisting of component upgrades and some fixes for running RESTEasy with the security manager enabled. This was done for the up and coming WildFly 27.0.0.Final release. One point of interest might be a newly added Galleon feature pack. There is now a org.jboss.resteasy:galleon-preview-feature-pack which is based on WildFly Preview. This allows the latest RESTEasy be used on either WildFly or WildFly Preview. An example...

Read More >

We are happy to announce the release of RESTEasy 6.2.0.Final and RESTEasy MicroProfile 2.0.0.Final. Both of these will end up in the up and coming WildFly 27 release. RESTEasy 6.2.0.Final As mentioned in a previous post the following two major changes are the reason for a 6.2.0.Final instead of 6.1.1.Final: RESTEASY-3085 - Upgrade Jackson to 2.13 RESTEASY-3075 - Implement the EntityPart.withName() There have also been some other bug fixes and component upgrades. The full release...

Read More >

Today RESTEasy 6.2.0.Beta1 was released. Except component upgrades, there are two changes which resulted in a 6.2.0.Beta1 instead of a 6.1.1.Final. RESTEASY-3085 - Upgrade Jackson to 2.13 RESTEASY-3075 - Implement the EntityPart.withName() Previously there was a blocking bug which did not allow RESTEasy to upgrade to Jackson 2.13. This bug as resolved, and we would like to upgrade Jackson in WildFly too. We discovered we did not attempt implement the RuntimeDelegate.createEntityPartBuilder. This is now implemented...

Read More >

We are happy to announce the final version of RESTEasy 6.1.0.Final. This is our first final release implementing the Jakarta RESTful Web Services 3.1 specification. What has changed in Jakarta RESTful Web Services 3.1 There have not been a lot of major changes in Jakarta REST 3.1. However, below are a some highlights. Java SE Bootstrap API This introduces a way to bootstrap a REST server. This can be very helpful for unit tests or...

Read More >

It is once again time for the next quarterly releases of RESTEasy. There have been releases of the following 4 streams: 6.1.0.Beta3 6.0.3.Final 5.0.4.Final 4.7.7.Final RESTEasy 6.1.0.Beta3 Version 6.1.0.Beta3 targets Jakarta RESTful Web Services 3.1 and is passing the Jakarta RESTful Web Services TCK 3.1 with WildFly. This is currently the active release stream. While currently there is no set date for 6.1.0.Final please note it will be in the near future. Also, with this...

Read More >

The Jakarta RESTful Web Services 3.1 specification is now final and released to Maven Central. Given this, we have released RESTEasy 6.1.0.Beta2. This release mostly contains component upgrades. However, you no longer need to add the JBoss Nexus Repository to use the jakarta.ws.rs:jakarta.ws.rs-api dependency. API Dependency <dependency> <groupId>jakarta.ws.rs</groupId> <artifactId>jakarta.ws.rs-api</artifactId> <version>3.1.0</version> </dependency>

Read More >

It is time for the next quarterly releases of RESTEasy. With these releases I’m very pleased to announce the release of RESTEasy 6.1.0.Beta1. This is the first release which implements Jakarta RESTful Web Services 3.1. Along with the 6.1.0.Beta1 release, there have been three bug fix releases; 6.0.1.Final, 5.0.3.Final and 4.7.6.Final. RESTEasy 6.1.0 The Jakarta RESTful Web Services 3.1 specification is targeted for Jakarta EE 10. It also includes a new SeBootstrap API for publishing...

Read More >

Both Spring 6 and RESTEasy 6 adopts EE9 spec and namespaces, and there are releases of resteasy-spring that adopts the Spring and RESTEasy 6: https://github.com/resteasy/resteasy-spring/releases/tag/3.0.0.Alpha1 To show how to use this version of resteasy-spring with the preview version of WildFly(which also supports EE9 spec), I have committed to the resteasy-spring-basic example showing how to do this: resteasy-examples/resteasy-spring-basic at main · resteasy/resteasy-examples · GitHub Please read the README of the sample project to see how to...

Read More >

I’m pleased to announce the release of RESTEasy 6. This is the first release of RESTEasy that is Jakarta RESTful Web Services 3.0 compliant. Overall this release is equivalent to RESTEasy 5.0 with changes for the jakarta namespace changes. Jakarta RESTful Web Services RESTEasy 6 is a Jakarta RESTful Web Services 3.0 implementation. This version has been tested on WildFly and fully passes the Jakarta RESTful Web Services TCK. RESTEasy 6.1 will be targeting Jakarta...

Read More >
         

YourKit
YourKit supports open source projects with innovative and intelligent tools for monitoring and profiling Java and .NET applications. YourKit is the creator of YourKit Java Profiler, YourKit .NET Profiler, and YourKit YouMonitor