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