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-Cookie
risposta intestazione con le informazioni dei cookie, e Cookie
imposterà il Cookie
richiesta 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();
fonte
2015-12-03 00:26:45