2015-12-02 16 views

risposta

12

Non si tratta di raccomandati, si tratta di appropriata. Uno è per una richiesta, e uno è per una risposta. Puoi vedere i due diversi javadoc.

Cookie

rappresenta il valore di un cookie HTTP, trasferito in una richiesta.

NewCookie

Consente di creare un nuovo cookie HTTP, trasferito in un risposta.

NewCookie, quando ha inviato nel Response, fisserà un Set-Cookierisposta intestazione con le informazioni dei cookie, e Cookie imposterà il Cookierichiesta intestazione con le informazioni del cookie. Questo è secondo le specifiche HTTP.

Esempio utilizzo:

@GET 
public Response get() { 
    return Response.ok("blah").cookie(new NewCookie("foo", "bar")).build(); 
} 

[..] 

Client client = ClientBuilder.newClient(); 
Response response = client.target(url).request().cookie(new Cookie("foo", "bar")).get(); 

Normalmente sul lato client, si sarebbe non creare manualmente il Cookie come ho fatto io. La maggior parte del tempo si otterrebbe i cookie dalla risposta di una richiesta iniziale, quindi inviare quei cookie indietro. Ciò significa che nello Response, si avrà NewCookie se è necessario trasformarli in Cookie s per la richiesta successiva. Questo può essere facilmente raggiunto chiamando il numero newCookie.toCookie()

Map<String, NewCookie> cookies = response.getCookies(); 
Invocation.Builder ib = target.request(); 
for (NewCookie cookie: cookies.values()) { 
    ib.cookie(cookie.toCookie()); 
} 
Response response = ib.get();