Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Método cache e o GET

Pessoal beleza?

O método GET do http, por default pode ou não ser cacheado pelo navegador. Quando trabalho com QueryString, corro o risco de ter o resultado do GET cacheado?

1 resposta
solução!

Oi Victor,

se a resposta de um HTTP GET é cacheado ou não depende dos cabeçalhos na resposta. Ele não é cacheado por padrão.

No JAX-RS vc tem um objeto CacheControle para definir esse cabeçalhos na resposta, por exemplo:

@Path("/livro")
public class CacheTest {

    @Path("/{id}")
    @GET
    public Response getLivro(@PathParam("id") long id){

        System.out.println("carregando livro com id " + id);

        //carrendo o livro do banco de dados por exemplo

        CacheControl cc = new CacheControl();
        cc.setMaxAge(60);        //60 segundos
        cc.setPrivate(true);    //cache só no cliente (navegador)

        ResponseBuilder builder = Response.ok("aqui vem a resposta");
        builder.cacheControl(cc);
        return builder.build();
    }

}

Tudo bem?

abs