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