2015-12-02 8 views

Antwort

12

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-CookieAntwort Header gesetzt und Cookie die CookieAnfrage 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
Verwandte Themen