Chapter 27. RESTEasy Caching Features
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.