阅读量:2
RestTemplate本身不提供直接设置Cookie有效期的方法。通常情况下,Cookie的有效期由服务器端设置,在响应中包含Set-Cookie头部来指定。客户端只需要保存Cookie并在后续的请求中发送包含该Cookie的请求头部即可。
如果需要手动设置Cookie的有效期,可以通过以下步骤实现:
- 创建一个Cookie对象,并设置其有效期:
Cookie cookie = new Cookie("cookieName", "cookieValue"); cookie.setMaxAge(3600); // 设置有效期为1小时
- 将Cookie保存到RestTemplate的请求头部中:
RestTemplate restTemplate = new RestTemplate(); restTemplate.getInterceptors().add((request, body, execution) -> { request.getHeaders().add("Cookie", cookie.getName() + "=" + cookie.getValue()); return execution.execute(request, body); });
- 发送请求时,RestTemplate会将包含Cookie的请求头部发送给服务器端。
需要注意的是,手动设置Cookie的有效期可能会被服务器端覆盖,因此建议在服务器端设置Cookie的有效期。