RESTEasy
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
Today we announce some new RESTEasy releases. These are the 2023 Q2 releases. There have been two releases; 5.0.7.Final and 6.2.4.Final. 6.2.4.Final This is the latest release for the Jakarta RESTful Web Services 3.1 specification. The release consists mostly of bug fixes and component upgrades. One component upgrade worth noting is the Undertow Upgrade. There was a moderate CVE, CVE-2022-4492, fixed in Undertow. Unfortunately, due to UNDERTOW-2167, there was not a 2.2.x release with the...
Read More >The RESTEasy tracing feature has been integrated into WildFly since its version 28. The usage of the tracing feature in RESTEasy is already introduced in RESTEasy Documentation1 and some blog posts2. In this article, I’ll focus on the usage of this feature in WildFly. There is an example in the resteasy-example3 project showing the usage of the tracing feature, and it uses the Galleon4 to provision a WildFly 28 server, so I’ll use this example...
Read More >Today we announce some new RESTEasy releases. Given there was a low impact CVE, we have released some older versions of RESTEasy as well. One big change, that likely seems odd for a patch release, is the way OPTION requests are handled. Previously a DefaultOptionsMethodException was thrown when invoked on a method that does not contain an @OPTIONS annotation. This will now simply return a valid response instead of throwing the exception. The old behavior...
Read More >The MicroProfile OpenAPI specification defines a standard and programming language-agnostic interface description for HTTP APIs. Here is the API document to the specification: GitHub - OAI/OpenAPI-Specification: The OpenAPI Specification Repository In this article I’ll introduce the basic usage of the example, and then describe its design. At last, I’ll introduce some internal implementations of the OpenAPI feature in WildFly and Quarkus. Usage Of The Example I have added an example showing how to integrate MicroProfile...
Read More >The time has come for two new RESTEasy releases; 6.2.2.Final and 5.0.5.Final. These are both bug fix releases. RESTEasy 6.2.2.Final targets Jakarta RESTful Web Services 3.1. Full release notes for this release can be found here. This will be the current version integrated into WildFly. RESTEasy 5.0.5.Final targets Jakarta RESTful Web Services 2.1. Full release notes for this release can be found here. Only critical or blocking bug fixes will end up in the 5.x...
Read More >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 >Useful Links

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