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

Recently I created a sample project showing the usage of the feature for deploying a RESTEasy based sample project1. The project contains a minimal REST based service and a test case, and it uses the maven-wildfly-plugin to produce a provisioned WildFly server for the integration testing. The maven-wildfly-plugin has integrated WildFly Glow2 since 5.0.0.Alpha13. I have created the PR to the sample project to enable the feature4. I’ll give some brief description to the above...

Read More >

Release 1.0.0.Alpha5 of resteasy-grpc has a new feature for handling arbitrary arrays. Although protobuf comes with a representation of one dimension arrays, e.g. message ints { repeated int64 is = 1; } represents an array int[], there is no built-in way of handling multidimensional arrays like int[][], so we have to do it explicitly. The mechanism has two parts: arrays.proto, which defines dev_resteasy_grpc_arrays___ArrayHolder, and dev.resteasy.grpc.arrays.ArrayUtility in grpc-bridge-runtime. arrays.proto looks like this: message dev_resteasy_grpc_arrays___BooleanArray { repeated...

Read More >

Today we’d like to announce a new RESTEasy releases and a new RESTEasy MicroProfile release. 6.2.7.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 bug fix worth noting is RESTEASY-338. This is a exposure fix if an error occurs with deserializing JSON with Jackson. This simply creates an ExceptionMapper which can be overridden by implementing an ExceptionMapper<JsonProcessingException> with a...

Read More >

UPDATE 2024-02-19: Jakarta REST is in the process of possibly doing a Jakarta REST 3.2 version instead of a 4.0 version for Jakarta EE 11. What a 3.2 version would include is adding the @Deprecated annotation to the @Context and @Suspended annotations instead of simply removing them. We find this to be a good plan so users are aware of these changes and migration can be done in a more incremental approach. The current plan...

Read More >

Today we announce some new RESTEasy releases. These are the 2023 Q4 releases. There have been two releases; 5.0.9.Final and 6.2.6.Final. 6.2.6.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. This release includes upgrades to Netty and Undertow for CVE-2023-44487 (Rapid Reset). Full release notes for this release can be found here. 5.0.9.Final This is the latest, and preferred, release...

Read More >

resteasy-grpc1 is a project that can help you to generate a bridge project that can expose REST service APIs to gRPC clients. The resteasy-grpc generated project will wrap your REST project into the final bridge project, and provide a gRPC service by using the standard gRPC server by default, and redirect the gRPC service calls into the backend servlet based REST services internally, which means you need to have a servlet container so the backend...

Read More >

Today we announce some new RESTEasy releases. These are the 2023 Q3 releases. There have been two releases; 5.0.8.Final and 6.2.5.Final. 6.2.5.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. Full release notes for this release can be found here. 5.0.8.Final This is the latest, and preferred, release for the Jakarta RESTful Web Services 2.1 specification. This release is primarily...

Read More >

In Part I of this two part series (grpc and WildFly - Part I), we discussed WildFly’s grpc subsystem, which supports gRPC services. Here, we introduce the RESTEasy resteasy-grpc project, which allows gRPC clients to communicate with Jakarta RESTFul Web Services. We assume here that the reader is familiar with WildFly, Jakarta REST, protobuf, and gRPC. There is a brief introduction to gRPC in Part I. gRPC is a fairly open system. For example client...

Read More >

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 >
         

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