Es ist nicht etwa ist empfohlen, es geht um entsprechende. Einer ist für eine Anfrage und einer für eine Antwort. Sie können die zwei verschiedenen Javadocs sehen.
Cookie
Stellt den Wert eines HTTP-Cookie, in einer Anfrage übertragen.
NewCookie
verwendet, um einen neuen HTTP-Cookie, in einer Antwort übertragen zu erstellen.
NewCookie
, wenn sie in den Response
gesendet wird, mit den Cookie-Informationen, einen Set-Cookie
Antwort Header gesetzt und Cookie
die Cookie
Anfrage Header mit den Cookie-Informationen festgelegt. Dies ist gemäß der HTTP-Spezifikation.
Beispiel Nutzung:
@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();
Normalerweise auf der Client-Seite, würden Sie nicht manuell die Cookie
erstellen, wie ich es tat. Die meiste Zeit würden Sie die Cookies von der Antwort einer ersten Anfrage erhalten, dann senden Sie diese Cookies zurück. Dies bedeutet, dass Sie in der Response
haben NewCookie
s und Sie müssen diese in Cookie
s für die nächste Anfrage. Dies kann leicht erreicht werden, indem 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();
aufgerufen wird