Search

Chapter 27. RESTEasy Caching Features

download PDF
RESTEasy provides a number of annotations to support HTTP caching semantics, to simplify processes such as setting Cache-Control headers, and to make both server-side and client-side in-memory caches available.

27.1. @Cache and @NoCache Annotations

RESTEasy provides an extension to JAX-RS that lets you set Cache-Control headers on successful GET requests. It can only be used on methods annotated with @GET. Successful get requests return a response of 200 OK.
package org.jboss.resteasy.annotations.cache;

public @interface Cache
{
   int maxAge() default -1;
   int sMaxAge() default -1;
   boolean noStore() default false;
   boolean noTransform() default false;
   boolean mustRevalidate() default false;
   boolean proxyRevalidate() default false;
   boolean isPrivate() default false;
}

public @interface NoCache
{
   String[] fields() default {};
}

@Cache builds a complex Cache-Control header; @NoCache specifies that you do not want anything to be cached. (That is, Cache-Control: nocache.)
You can place these annotations on the resource class or interface, or place them on each individual @GET resource method. They specify a default cache value for each @GET resource method.
Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.