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 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 specification1 by itself, and it doesn’t enforce its implementations. There are currently two major implementors of the...

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 changes and features we want into this release. Bugs: RESTEASY-3502 - The Jackson Provider should add the Jackson Jdk8Module and...

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 be disabled by setting “dev.resteasy.exception.mapper” to false through in web.xml RESTEASY-3515 - By default the REST Client implementation should use SSLContext.getDefault()...

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 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 >
         

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