当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《javax.ws.rs.core.Cookievsjavax.ws.rs.core.NewCookie,有什么区别?》经验,为你挑选了1个好方法。

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

提前致谢 :)



1> Paul Samsoth..:

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

Cookie

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

NewCookie

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

NewCookie,当发送时Response,将设置带有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,你将拥有NewCookies,你需要将它们转换为Cookies以用于下一个请求.这可以通过调用轻松完成newCookie.toCookie()

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

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有