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
Documentation only
Latest News
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 the wildfly-maven-plugin and Prospero. RESTEasy has now begun...
Read More >Today we’d like to announce the release of RESTEasy 6.2.8.Final. This release contains some bug fixes as well as some notable changes in behavior. Client Changes In RESTEASY-3470 it was found that clients may leave connections open longer than expected. The fix was to evict stale or closed connections after 60 seconds. Note this timeout is hard-coded. In big news, we’ve deprecated the backing Apache HTTP Client. The reason for doing this is we want...
Read More >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 >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