RESTEasy

RESTEasy is a Commonhaus 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 application servers
  • Embeddable 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

RESTEasy gRPC to Jakarta REST Bridge project: First Beta release available The first beta releases (1.0.0.Beta1) of the RESTEasy gRPC to Jakarta REST Bridge project (https://github.com/resteasy/resteasy-grpc), aka resteasy-grpc, and its sibling gRPCtoJakartaREST-archetype project (1.0.0.Beta2) (https://github.com/resteasy/gRPCtoJakartaREST-archetype) are now available on Maven Central. A number of blogs have been written on the projects themselves[1] [2] [3] and on...

Read More >

Today we are excited to announce the release of RESTEasy 6.2.14.Final and RESTEasy 7.0.0.Final. RESTEasy 7.0.0.Final has been a long time coming and likely could have been final a while ago. However, we had some housekeeping we wanted to get done first. The release of 7.0.0.Final is a major milestone. It finalizes our effort to streamline the core framework and move key integrations...

Read More >

Hello, Red Hat announced a change in its middleware strategy last month and I wanted to give the RESTEasy community information on how that affects RESTEasy. The Red Hat announcement can be found on the Red Hat blog: Evolving our middleware strategy Some key points there are: Red Hat’s Middleware and Integration Engineering and Products teams are moving to IBM in May 2025. All transitioning Red Hat technology will remain open source and continue...

Read More >

Today we'd like to announce the release of RESTEasy 6.2.12.Final and RESTEasy 7.0.0.Beta1. 7.0.0.Beta1 RESTEasy 7.0.0.Beta1 is a Jakarta REST 4.0 implementation. This is the first beta release, a long time coming if I'm being honest. There have been high hopes we could get more features into this release, but the time has come to start finalizing it as Jakarta...

Read More >

As with other projects, like WildFly, RESTEasy has been looking at moving to a vendor-neutral software foundation. Our hope is that by doing this we can further expand our community, improve our openness and transparency, refresh our governance model, and encourage more participation by contributors not affiliated with Red Hat. As of recently we've moved some projects out of the default RESTEasy repository into their own repository. This gives us the ability to...

Read More >

Release 1.0.0.Alpha6 of resteasy-grpc (see also gRPC Bridge Project: User Guide) has a new facility for handling implementations of java.util.List and java.util.Set. In order to handle arbitrary implementations, idiosyncratic details of particular implementating classes are ignored and all implementations are assigned the least common nature of lists and sets. That is, an implementation of java.util.List is considered to be an ordered sequence and is translated...

Read More >

Recently there is a request in the resteasy-spring-boot community: Can not integrate with spring doc · Issue #349 · resteasy/resteasy-spring-boot It’s an interesting request because I haven’t dug into this kind of usage before. I spent some time investigating the topic, and I’d like to share what I have learned in this blog post. The OpenAPI is a specification[^openapi_spec] by itself, and it doesn’t enforce its implementations...

Read More >

Today we'd like to announce the release of RESTEasy 6.2.11.Final and RESTEasy 7.0.0.Alpha4. Both the 7.0.0.Alpha4 and 6.2.11.Final releases have two bug fixes, some component upgrades and two new enhancements. 7.0.0.Alpha4 RESTEasy 7.0.0.Alpha4 is a Jakarta REST 4.0 implementation. We opted for one more Alpha release before a Beta to ensure we have all the...

Read More >

Today we'd like to announce the release of RESTEasy 6.2.10.Final and RESTEasy 7.0.0.Alpha3. Both the 7.0.0.Alpha3 and 6.2.10.Final releases are bug fix and component upgrade releases. 7.0.0.Alpha3 RESTEasy 7.0.0.Alpha3 is a Jakarta REST 4.0 implementation. Bugs RESTEASY-3500 - The ExceptionHandler sets the media type of an exception to text/html RESTEASY-3510 - Default ExceptionMapper cannot...

Read More >

Today we'd like to announce the release of RESTEasy 6.2.9.Final and RESTEasy 7.0.0.Alpha2. Introduction of Channels A notable enhancement is the introduction of WildFly Channels. The WildFly Channels project adds ability to create channels defining component versions used to provision WildFly that can be maintained separately from WildFly’s feature packs. This ability has been used for a while now in component testing and by provisioning projects like...

Read More >