javax.ws.rs.core.Cookie vs javax.ws.rs.core.NewCookie,有什么区别?

我在JAX-RS API javax.ws.rs.core.Cookiejavax.ws.rs.core.NewCookie找到了两个类。 一个人比另一个人有什么好处? 我想知道建议使用哪一个以及何时使用?

提前致谢 :)

这不是推荐的 ,它是合适的 。 一个是请求,一个是响应。 你可以看到两个不同的javadoc。

Cookie

表示在请求中传输的HTTP cookie的值。

NewCookie

用于创建在响应中传输的新HTTP cookie。

NewCookieResponse发送时,将使用cookie信息Set-Cookie 响应头, Cookie将使用cookie信息设置Cookie 请求头。 这是根据HTTP规范。

用法示例:

 @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(); 

通常在客户端,您不会像我那样手动创建Cookie 。 大多数情况下,您会从初始请求的响应中获取cookie,然后将这些cookie发回。 这意味着在Response ,您将拥有NewCookie并且您需要将它们转换为Cookie以用于下一个请求。 这可以通过调用newCookie.toCookie()轻松完成

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