java - 更改 cookie 的值或删除 jax-rs 端点内的 cookie

标签 java web-services cookies jax-rs

我有一个 jax-rs 端点。在端点内部,我需要删除或更改现有 cookie 的现有值。下面我提到了我的代码。

@GET
@Path("/")
@Produces("text/html")
public String logout(@Context HttpServletRequest request, @QueryParam("logoutNotification") String logoutNotification,
                     @QueryParam("id_token_hint") String id_token_hint,@CookieParam("statusCookie") javax.ws.rs.core.Cookie cookie) {
    Response response=null;
    if(logoutNotification.equals("T")) {
        if (cookie != null) {
       //update the value of the statusCookie cookie or remove the existing statusCookie cookie
        }
        }

请有人帮我实现这个。谢谢。

最佳答案

你可以尝试这样的事情。

@GET
@Path(value = "/test")
public Response test(@CookieParam("statusCookie") javax.ws.rs.core.Cookie cookie) {
    NewCookie newCookie = null;
    if(cookie != null) {
        newCookie = new NewCookie("statusCookie", "second");
    } else {
        newCookie = new NewCookie("statusCookie", "first");
    }
    return Response.ok("test").cookie(newCookie).build();
}

第一次检查名为statusCookie的cookie是否存在,如果不存在,则创建一个新cookie并将值设置为first。当 statusCookie 存在时,它还会创建一个具有相同名称的新 cookie 并将值设置为 second 这实际上是覆盖现有的 cookie 值。因为同名。

关于java - 更改 cookie 的值或删除 jax-rs 端点内的 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30779535/

相关文章:

java - Gephi Toolkit 导入缺失边/节点

java - @JsonProperty 没有覆盖 boolean 值并且仍然删除 `is`

java - 如何使用 log4j 编写多级日志消息? (例如信息和错误)

java - 生成 WebService 工件时遇到问题

Javascript - 缓存和 cookie 问题

javascript - 无法将数据添加到从 cookie 中取出的数组中

java - 如何更改java中方法的值?

c# - 以编程方式创建图像并将其作为字节 [] 数据从 Web 服务检索为媒体项存储在 Umbraco 中

c# - 在重定向时保持 HTTP 基本身份验证有效

cookies - Coldfusion 10 cookie 数据丢失